当文本大于uitextfield的宽度时,是否可以删除uitextfield旁边显示的点。
答案 0 :(得分:1)
如果您在代码
之后进行键盘可见调用,则可以[self.yourTextField becomeFirstResponder];
然后从左侧剪切较大的文字。
您还可以使用以下代码隐藏键盘[如果您使用任何自定义键盘]
// Hide keyboard for Dial Pad, but show blinking cursor
UIView *dummyKeyboardView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
yourTextField.inputView = dummyKeyboardView;
[dummyKeyboardView release];
答案 1 :(得分:0)
我尝试了很多方法,最后我开始关注解决方案。
UITextField
没有lineBreakMode
属性,因此只需覆盖UITextField
中的以下方法:
-(CGRect)textRectForBounds:(CGRect)bounds{
CGRect rect = bounds;
rect.size.width = rect.size.width;
return rect;
}
注意:我不知道如何,但它有效。
答案 2 :(得分:0)
非常老的问题,但是由于我试图制作一个非常紧凑的仪表板,所以我需要一个答案,因此必须非常优化文本大小,并且最新的iOS版本使用{{1}可以使文本不必要地变小}(不确定哪个版本对此进行了更改,iOS 9使其文本适合边缘,iOS 13留出了很多空间)。
显然grant_type=client_credentials
是没有用的。我最终要做的是给文本矩形增加一些额外的像素宽度:
adjustsFontSizeToFitWidth = YES
以上内容将在每侧额外增加4个像素,因为在我的情况下,我居中放置的文本有时可能不完全适合水平-请根据需要调整返回的矩形。但是通常,这样一来,您可以保留lineBreakMode
,并选择“危险地接近”限制的字体大小,而不会得到那些可怕的点。您的透支额是否会被切除等取决于您。
答案 3 :(得分:-3)
有一个属性lineBreakMode,用于定义要显示的文本大于控件框的行为
//UILineBreakMode
//Options for wrapping and truncating text.
typedef enum {
UILineBreakModeWordWrap = 0,
UILineBreakModeCharacterWrap,
UILineBreakModeClip,
UILineBreakModeHeadTruncation,
UILineBreakModeTailTruncation,
UILineBreakModeMiddleTruncation,
} UILineBreakMode;
如果您不想要任何点,可以使用 UILineBreakModeClip ,它只会在最后剪切文本。苹果医生说:
到达绘图矩形的末尾时剪切文本。此选项可能会在字符串末尾生成部分呈现的字符。 适用于iPhone OS 2.0及更高版本。
虽然它当然取决于您希望如何显示文本。由于无论哪种方式都无法显示所有文本,因此这些点通常比原始断点更具震撼性。
如果您要求绝对所有文字都可见,则必须展开字段的宽度或 height (并使用 UILineBreakModeCharacterWrap ),或者可能减小字体大小(作为最后的手段)。
对该主题进行快速谷歌搜索,结果显示How to make UILabel / UITableViewCell to have a dynamic height