剛開始做xamarin畫面設計時真的是抱怨連連,尤其是習慣了html的人
雄雄想要在文字標籤中加個底線,卻一直不知如何著手.
label物件中有個文字屬性叫AttributedText,就可以派上用場了
(事實上你在GUI builder中找label的"text"屬性欄位,就Plain & Attribute,但是你選了「Attributed」會出現「not support in this version」.....沒錯啦,在xcode設計工具中是有的選)
回到問題,要做個堂堂正正的...不,要做有個底線的文字標籤,就參考以下的做法:
----------------------------------------
myLabel.AttributedText = new NSAttributedString(
"別踩了我的底線",
underlineStyle: NSUnderlineStyle.Single);
----------------------------------------
事實上這個機制,還可以套用更複雜的html語法
==================================
var attr = new NSAttributedStringDocumentAttributes();
var nsError = new NSError();
attr.DocumentType = NSDocumentType.HTML;
var myHtmlText = "<u>I服了 You</u>";
var myHtmlData = NSData.FromString(myHtmlText, NSStringEncoding.Unicode);
myLable.AttributedText = new NSAttributedString(myHtmlData, attr, ref nsError);
==========================
來源參考:
1.https://forums.xamarin.com/discussion/23670/how-to-display-html-formatted-text-in-a-uilabel
2.https://stackoverflow.com/questions/15643232/underline-text-in-uilabel-in-monotouch-porting-objc-code
3.https://www.youtube.com/watch?v=5-ZnV3jQd9I
以上,加油了!!
沒有留言:
張貼留言