所以我有一个UIView
子视图,顶部有一个UILabel
,静态文本和最小比例(处理4“vs 6个双胞胎)。
在那之下,我有三行带有静态字符串的文本。
在那之下,我有一个带有自定义边框,圆角半径的按钮。
我的尺寸和间距有问题。使用4英寸屏幕,我希望行间距为0,以便UILabel
和UIButton
在视图的顶部和底部之间具有相同的间距。
对于6/6 +屏幕,我希望行间距为1.5~2.0:
使用UITextView
,我禁用了用户互动和滚动,我在IB中设置了字体属性,在我的ViewController
中,我使用{{1}的条件运算符覆盖layoutManager/lineSpacingAfterGlyphAtIndex
}和mainScreen边界检查屏幕高度并返回基于4“/4.7”/5.5“屏幕尺寸的浮动。
效果很好,看起来很棒,没有互动问题。
但是我的同事坚持认为我应该使用:UI_USER_INTERFACE_IDIOM
来计算行数,因为使用UILabel
这是静态文本并且让我感到羞耻。
是否存在程序化的SYSTEMATIC原因我应该使用UITextView
而不是UILabel
?不,我不是在寻找罐装副本/粘贴“UITextView
用于静态文本而UILabel
用于您希望编辑的文本等等。”我想知道TextView为了覆盖行间距而禁用其用户交互属性时的实际基本差异。
答案 0 :(得分:0)
不可编辑的文本可以显示在UILabel中,就像您要编辑用户输入/滚动功能等文本一样,您可以使用textview。
如果您希望用户选择UI上显示的文字;你可以去看textview。 uilabel不支持选择和复制。
UIlabel派生自UIview,但uitextview派生自UIScrollView。所以它也继承了scrollview的属性。 uitextview符合键盘处理协议
答案 1 :(得分:0)
使用UITextview而不是UIlabel并不可耻。
UILabel:如果没有动作,你可以将它用于静态文本。
示例:静态文本中的可点击链接。
禁用“文本视图”中的“编辑”功能仅禁用“编辑”。它不会删除用户交互。因此,如果静态文本中有任何链接或主题标签,它将自动检测。
喜欢 - > #iphone @Ram http://google.com
UILabel不会检测到这些东西。
以前很多人都在继承UILabel来获取此功能。 UITextView内置了这个功能。
因此,如果静态文本中有任何可点击的组件,请使用UITextview。否则只使用UILabel。