button自由编程问题

button自由编程问题

#import "ViewController.h"


@interface ViewController (){

    UIButton*btn;

    NSArray*array1;

}


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    btn=[[UIButton alloc]init];

    btn.frame=CGRectMake(100, 100, 200, 100);

    btn.backgroundColor=[UIColor redColor];

    [self.view addSubview:btn];

    array1=@[@"太阳",@"星星",@"月亮",@"风云"];

}


-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    int index = arc4random()%4;

    NSString *button=[array1 objectAtIndex:index];

    [btn setTitle:button forState:UIControlStateNormal];

    [btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end

为什么我功能实现不了呢 麻烦老师看一下

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

button定义在屏幕中间的参考代码如下:

    button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(0, 0, 80, 50);
    button.center = self.view.center;
    [self.view addSubview:button];

如果解决了你的问题,请采纳,祝学习愉快~

提问者 盛益华通 2018-07-17 11:00:46

http://img1.sycdn.imooc.com//climg/5b4d5bc7000112dc06870242.jpg

已经晕了。。。

imoocLovers 2018-07-16 13:37:45

代码运行的情况是:点击view空白处,button的title内容改变了。如果想要实现作业的效果,点击button按钮,改变title,那么需要为button添加target事件,在button的响应方法中去改变title。祝学习愉快~

  • 提问者 盛益华通 #1
    可是现在button根本没有内容是怎么回事呢 我哪里出错了吗
    2018-07-16 13:39:18
  • 提问者 盛益华通 #2
    应该怎么去实现呢
    2018-07-16 14:12:28
  • imoocLovers 回复 提问者 盛益华通 #3
    点击屏幕的时候,touchesBegin才会被调用,而在ViewDidLoad中button初始化的时候你没有给button设置title,所以运行之后,button的内容没有显示,你可以在button初始化的时候,设置一个title。
    2018-07-16 14:24:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

iOS进阶:界面优化与数据存储
  • 参与学习       516    人
  • 提交作业       158    份
  • 解答问题       637    个

本路径采用基础+案例方式,助你解开对界面优化、数据储存、屏幕适配的疑惑。6小时团购项目实战加最新版本Swift讲解,让你掌握更多iOS开发技巧。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师