私は最初の行(FirstLineHeadIndent)と残りの行(HeadIndent)にインデントを追加する方法を見つけましたが、にインデントを追加する方法を見つけることができません UILabelの複数の行にインデントを追加するには?
PS:私は一人のユーザーが示唆されているように、最初の行だけをインデントする方法を求めてないだからこれは、重複していません。
私は最初の行(FirstLineHeadIndent)と残りの行(HeadIndent)にインデントを追加する方法を見つけましたが、にインデントを追加する方法を見つけることができません UILabelの複数の行にインデントを追加するには?
PS:私は一人のユーザーが示唆されているように、最初の行だけをインデントする方法を求めてないだからこれは、重複していません。
あなたはUILabel.AttributedTextのstringattributeプロパティを使用する必要があります。
その実際にタイプNSMutableAttributedStringの私は最初、私はそれを操作できる可変タイプに label.AttributedTextをキャスト。 ‡
が、これは次の使用します行うには:
var mutable = Control.AttributedText as NSMutableAttributedString;
UIStringAttributes uiString=new UIStringAttributes();
は、あなたが最初の行にインデントを設定する必要があります(あなたはすでにどのように知っているこの方法を実行します。)、段落スタイルのheadIndentを以下のように設定します。
これは、Objective-Cのように完璧ではないかもしれないから変換された:&ダガー。
NSMutableParagraphStyle paragraphStyle = new NSMutableParagraphStyle();
paragraphStyle.headIndent = 14;
NSDictionary attributes(){
StyleAttributeName = paragraphStyle;
};
mutable.AddAttribute(attributes);
Control.attributedText = mutable;
私はあなたの「FirstLineHeadIndent」コードと組み合わせて、このようなものは、トリックを行うべきだと考えています。
‡How to manipulate NSAttributedString
‡ IOS
CGRect checkBoxFrame = [self.textView convertRect:self.checkView.bounds fromView:self.checkView];
checkBoxFrame.origin.x -= self.textView.textContainerInset.left;
checkBoxFrame.origin.y -= self.textView.textContainerInset.top;
UIBezierPath *checkBoxPath = [UIBezierPath bezierPathWithOvalInRect:checkBoxFrame];
self.textView.textContainer.exclusionPaths = @[checkBoxPath];
でTextKit
フレームワークの使用Objective-C second line with indent
これはインデントしても機能しません**最初の2行** – nicks
3行をインデントする必要がある場合はどうすればよいですか? – nicks
私は正直言って、あなたは簡単に2つ以上の行をインデントすることはできません。 – Digitalsa1nt
それはあなたがストーリーボードでAttributed
文字列としてごUILabel
テキストを設定する必要があるのTextView
C#の解決策ではありませんが、問題は面白いです。 =) – Digitalsa1nt
私は 'UILabel'の解決策が必要です。 – nicks
TextViewのユーザー対話を無効にすると、Labelが表示されます。 UILabelは読み取り専用のUITextViewです。どちらも似ています。 https://stackoverflow.com/a/6040449/5215474 – Saranjith
のコンテンツ内の画像パスを除外します。
は、その後、各行のインデントを編集することができ、そしてまた、あなたはテキストエディタで作成した任意のテキストを貼り付けることができますし、それはそのインデントだけでなく、他の属性を維持します。ここで
@IBOutlet weak var label: UILabel!
let text = "\tfirst line\n \tsecond line\nthird line\nforth line"
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.tabStops = [NSTextTab(textAlignment: NSTextAlignment.left, location: 15, options: [:])]
paragraphStyle.headIndent = 10
label.attributedText = NSAttributedString(string: text, attributes: [NSParagraphStyleAttributeName: paragraphStyle])
はそれを設定する方法の例です:
あなたはもちろん、プログラムでこれらの属性を操作することができ、ここでは一例である
ここインデントを設定する方法であります:
ここは、シミュレータ上の例である:[?どうやってiOSの中で複数行UILabelの最初の行のみをインデントできます]の
可能な複製(https://stackoverflow.com/questions/21430685/how -in-indent-only-first-line-multiline-in-ios) – the4kman
@ the4kman PSセクションを参照 – nicks
これを見てくださいhttps://stackoverflow.com/questions/39113803/indent-second-line -of-uilabel-swift –