UIButton title换行

Iphone开发笔记——UIButton title换行
被这货整疯了。。。

刚才发现策划要求一个竖向的button,然后就去interface builder 里面去翻了,找了半天也没有方法把UIbutton 竖向放置,如果interface builder 搞不定,那就是没有这功能了。

 

然后就想 是不是 旋转可以呢? 就去查资料 写了三行代码实现了旋转操作

CGAffineTransform transform = button.transform;

transform = CGAffineTransformRotate(transform, 3.14/2);

button.transform = transform;

结果效果非常不理想,button 旋转过来了,字也是全都旋转了。。


例如:T\nX\nX 这样不就能手动换行了么。。


然后就随手写了个拆分NSString添加回车符的程序:

- (NSString *) Dosomething:(NSString *)Word

{

    NSMutableString *Temp = [[[NSMutableString alloc] init] autorelease];

    for (int i=0; i<[Word length]; i++) {

        [Temp appendFormat:[Word substringWithRange:NSMakeRange(i, 1)]];

        [Temp appendFormat:@"\n"];

    }

    return Temp;

}

NSLog了一下效果很满足要求。

。。发现。。。

T\nX\nX 变成了T X X

也就是说\n变成了空格,然后回忆起 寒假时H4x说 OSX的换行符是\r 改了一下,依然不对。

然后就去试图约束Button长度:button.frame =CGRectMake(0, i*35, 20, 300);

结果成了T..   


[button setTitle:[self Dosomething:key] forState:UIControlStateNormal];

button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;//加了这个 回车符就能正常显示了

然后问题就完美解决了。。觉得这个方法不错,就写了篇日志,并决定开始记录一下ios开发的各种小技巧。


 

当然我不保证这个是最简单的解决方式,但是这东西至少能完美实现我的效果,如果您有人用其他的方法实现了这个效果 欢迎留言
序言 :
下面给大家说下 button的一些小技巧
点击button变图片:

UIButton *touristBtn = [[UIButton alloc]initWithFrame:CGRectMake(20, 5, 120, 25)];

   [touristBtn setBackgroundColor:[UIColor clearColor]];

   [touristBtn setImage:[UIImage imageNamed:@"firstBtn.png"] forState:UIControlStateNormal];

全了   [touristBtn setImage:[UIImage imageNamed:@"secondBtn.png" forState:UIControlStateSelected];

   [touristBtn addTarget:self action:@selector(touristEvent:) forControlEvents:UIControlEventTouchUpInside];

   [tabView addSubview:touristBtn];



在button的action方法中改变button的状态:

 

-(void)touristEvent:(id)sender{

    UIButton *button = (UIButton *)sender;

    button.selected = !button.selected;

}

// 创建按钮  
8              UIButton *sampleButton =  [UIButton buttonWithType:UIButtonTypeRoundedRect];  
9           
10        
11          // 设置按钮位置  
12              [sampleButton setFrame:CGRectMake( 10100, self.view.bounds.size.width-  2052 )];  
13               
14          // 定义按钮标题  
15              [sampleButton setTitle: @" Button Title "  forState:UIControlStateNormal];  
16               
17          // 定义按钮标题字体格式  
18              [sampleButton.titleLabel setFont:[UIFont boldSystemFontOfSize: 20 ]];  
19               
20          // 定义按钮背景图片,redButton.png已经存在,拖放添加图片文件到image项目文件夹中  
21              [sampleButton setBackgroundImage:[[UIImage imageNamed: @" redButton.png "]stretchableImageWithLeftCapWidth: 0.0 topCapHeight: 0.0 ] forState:UIControlStateNormal];  
22               
23          // 添加点击按钮所执行的程式  
24               [sampleButton addTarget:self action:@selector(buttonClicked)forControlEvents:UIControlEventTouchUpInside];  
25               
26         // 在 View 中加入按钮  
27               [self.viewaddSubview:sampleButton];  

 这下基本全了

你可能感兴趣的:(UIButton title换行)