メールIDをクリックするとメールコンポーザービューが開くように、ビューにメールIDを表示したいと思います。
ボタンのテキストを下線付きで表示してハイパーリンクであることを示し、ボタンクリックイベントでメールコンポーザービューを呼び出します。現在、ボタンのテキストに下線を付けることはできません。
ボタンの上にラベルを配置し、ラベルプロパティを調整して下線付きのテキストを取得することを考えましたが、うまくいきませんでした。
私が望む外観と動作を取得する別の方法はありますか?
メールIDをクリックするとメールコンポーザービューが開くように、ビューにメールIDを表示したいと思います。
ボタンのテキストを下線付きで表示してハイパーリンクであることを示し、ボタンクリックイベントでメールコンポーザービューを呼び出します。現在、ボタンのテキストに下線を付けることはできません。
ボタンの上にラベルを配置し、ラベルプロパティを調整して下線付きのテキストを取得することを考えましたが、うまくいきませんでした。
私が望む外観と動作を取得する別の方法はありますか?
インターフェイスビルダーでそれを行うには
スウィフト 3.2
if let title = button.titleLabel?.text, title != "" {
let attributeString = NSMutableAttributedString(string: title)
attributeString.addAttribute(NSAttributedStringKey.underlineStyle, value: 1, range: NSMakeRange(0, title.count))
button.titleLabel?.attributedText = attributeString
}
オブジェクティブ C
NSString *tem = self.myButton.titleLabel.text;
if (tem != nil && ![tem isEqualToString:@""]) {
NSMutableAttributedString *temString=[[NSMutableAttributedString alloc]initWithString:tem];
[temString addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber numberWithInt:1]
range:(NSRange){0,[temString length]}];
self.myButton.titleLabel.attributedText = temString;
}
NSAttributedString
iOS 6.0以降で使えますUIButton
。
//create an underlined attributed string
NSAttributedString *titleString = [[NSAttributedString alloc] initWithString:@"Title" attributes:@{NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle | NSUnderlinePatternSolid)}];
//use the setAttributedTitle method
[yourButton setAttributedTitle:titleString forState:UIControlStateNormal];
必要なことを行うには、CGContextStrokePath() を使用して、UILabel の CGLayer に下線を引く必要があります。
そうは言っても、私はあなたのデザインの選択を再考するようにあなたに挑戦します. ボタンのテキストをハイパーリンクのように見せることは、Windows デスクトップ アプリケーション (例: を使用LinkLabel
) にとって理にかなっています。ただし、iPhone OS には、画面が小さいことと、タッチ入力に対応するためにより大きなターゲットが必要であることから、ユーザー インターフェイス規則のセットが異なります。
この問題に対する「Cocoa Touch」のアプローチは、UITableView を使用してメール ID のリストを表示することです。各行に適切なアクセサリ ボタンを配置します。たとえば、 UITableViewCellAccessoryDetailDisclosureButton
、またはUIButton
withbuttonType
のいずれかを使用できますUIButtonTypeContactAdd
)。次に、アクセサリ ボタンのイベント ハンドラがメール コンポーザを呼び出します。
幸運を祈ります。コーディングをお楽しみください。
もう 1 つの方法は、ボタンのイメージを設定することです。適切なテキストを表示する画像を作成すると、ボタンにテキストの代わりにそれが表示されます。
テキストに下線を引くことは冗長であり、インターフェイスの文法に違反しているという Zack の意見に同意します。最初にリンクのテキストに下線を引いて、ボタンのような動作があることを示します。テキストが既にボタン内にある場合、ユーザーはクリックに対するアクションをすでに期待しているため、ボタンのように動作することを示すために下線を引く必要はありません。
シンプルで、webview を使用し、html のブロックをプラグインして、iphone ではできないが html ではできるテキストを表示します。
では、テキストのブロック内にWebサイトへのリンクを提供したい場合はどうでしょうか。ユーザーは、テキストがリンクであることを視覚的に示す必要があり、それらをどこかに移動します。
青い下線付きのハイパーリンクされた外観は予想される標準ですが、これがPCの方法であることを理解してください。では、iPhoneの方法は何ですか?
私は過去に、背景などがなく、青いテキストのないカスタムボタンを使用しましたが、下線は引かれていませんが、タップ可能なテキストを使用できます。
他の人が何をしているのか知りたいと思います。