如何避免在uitextfield旁边的点

如何避免在uitextfield旁边的点

问题描述:

当文本大于uitextfield的宽度时,是否可以删除显示在uitextfield旁边的点。如何避免在uitextfield旁边的点

有一个属性lineBreakMode定义时要显示的文本的行为比控制箱

//UILineBreakMode 
//Options for wrapping and truncating text. 

typedef enum { 
UILineBreakModeWordWrap = 0, 
UILineBreakModeCharacterWrap, 
UILineBreakModeClip, 
UILineBreakModeHeadTruncation, 
UILineBreakModeTailTruncation, 
UILineBreakModeMiddleTruncation, 
} UILineBreakMode; 

如果你不希望任何点你可以使用UILineBreakModeClip简单地削减较大文末关闭。苹果文件这样说:

到达绘图矩形的末端时剪贴文本。此选项可能会导致字符串末尾出现部分呈现的字符。 适用于iPhone OS 2.0及更高版本。

虽然它当然取决于你想如何显示文本。由于无论哪种方式都无法显示所有文字,点通常比原始分页更加美观。

如果你需要绝对的所有文本是可见的,你必须要么扩大该领域的宽度,或高度(和使用UILineBreakModeCharacterWrap),或者可能减小字体大小(作为最后采取)。

关于这个问题的快速谷歌搜索拉本How to make UILabel/UITableViewCell to have a dynamic height

+6

问题询问UITextField - 没有setLineBreakMode用于UITextField – 2012-02-01 16:08:50

+0

就像Ben说的,这对UITextField没用。 – Legoless 2013-11-20 11:48:41

如果你把键盘可见调用下面的代码

有可能

[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]; 

我试过很多方法,最后我来到了以下解决方案。

UITextField没有lineBreakMode属性,因此只重写以下方法UITextField

-(CGRect)textRectForBounds:(CGRect)bounds{ 

    CGRect rect = bounds; 
    rect.size.width = rect.size.width; 
    return rect; 
} 

注:我不知道如何,但它的作品。