iOS UIButton加在window上点击无效果问题

UIButton加在window上,点击没有效果,找了很久,原来是没有加上这名:[self.window makeKeyAndVisible];

self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
    ViewController *vc = [[ViewController alloc] init];
    self.window.rootViewController = vc;
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    view1 = [[UIView alloc] initWithFrame:CGRectMake(60, 200, 200, 100)];
    view1.backgroundColor = [UIColor blueColor];
    [self.window addSubview:view1];

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(60, 200, 50, 150)];
    view2.backgroundColor = [UIColor yellowColor];
    [self.window addSubview:view2];

    UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(60, 400, 200, 100)];
    view3.backgroundColor = [UIColor redColor];
    [self.window addSubview:view3];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(60, 510, 100, 35);
    button.userInteractionEnabled = YES;
    button.backgroundColor = [UIColor greenColor];
    [button setTitle:@"change" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(changeView) forControlEvents:UIControlEventTouchUpInside];
    [self.window addSubview:button];
    NSLog(@"%@",self.window.subviews);
- (void)changeView
{
    [self.window bringSubviewToFront:view1];
     NSLog(@"%@",self.window.subviews);
}

不要直接加在window上,加在ViewController viewDidLoad点击有效果

view1 = [[UIView alloc] initWithFrame:CGRectMake(60, 200, 200, 100)];
    view1.backgroundColor = [UIColor blueColor];
    [self.view addSubview:view1];

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(60, 200, 50, 150)];
    view2.backgroundColor = [UIColor yellowColor];
    view2.tag = 2;
    [self.view addSubview:view2];

    UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(60, 400, 200, 100)];
    view3.backgroundColor = [UIColor redColor];
    [self.view addSubview:view3];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(60, 510, 100, 35);
    button.userInteractionEnabled = YES;
    button.backgroundColor = [UIColor greenColor];
    [button setTitle:@"change" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(changeView) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
    NSLog(@"%@",self.view.subviews);
- (void)changeView
{
    [self.view bringSubviewToFront:view1];
    UIView *view = [self.view viewWithTag:2];
    view.backgroundColor = [UIColor purpleColor];
    NSLog(@"%@",self.view.subviews);
}

时间: 2024-10-10 05:23:10

iOS UIButton加在window上点击无效果问题的相关文章

关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.

问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam. 然后没有更多的信息了. (连接真机调试,当发生闪退的时候,设备会同时跟Xcode断开连接,没有更多的错误堆栈,另外设备也没有记录下更多的Crash log 提供定位.) 最后从以下获取到近似

ios加在View上的按钮无响应

上面这幅图片黑色是一个view, 黄色是2个button, 虽然我们现在能看到这2个button, 但是我们点击它是无响应的 原因1: 这2个button 已经不在这个view的frame内, 也就是超出边界,(当然, 如果有交叉, 一点点,我们点那一点点还是可以出发按钮点击事件的) 原因2: butotn加的视图里, 可能有imageVIew或者UILabel, 因为这2个控件默认交互是关闭的, 你把按钮加在这种试图上面,那么子视图所有的交互都会关闭. 解决方法:把ImageView或者UIl

ios uibutton加数字角标

http://www.jianshu.com/p/0c7fae1cadac 第一种:https://github.com/mikeMTOL/UIBarButtonItem-Badge第二种:https://github.com/cwRichardKim/RKNotificationHub JSBadgeView  可以设置在任何view的很多位置,很好用 按钮右上角加个数字红点JSBadgeView *badgeView = [[JSBadgeView alloc]initWithParentV

IOS 自定义UIBUTTON 直接拖个xib 就能在button上显示多行文本 并且添加了点击的效果

拖个button继承一下  几行代码 就搞定 自用效果还行 IOS 自定义UIBUTTON 直接拖个xib 就能在button上显示多行文本 并且添加了点击的效果,布布扣,bubuko.com

iOS UIButton按钮

系统字体 + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; NSArray *fontNames; NSInteger indFamily, indFont; for (indFamily=0; indFamily<[familyNames count]; ++indFamily) {     NSLog(@"Fa

ios UIWebView 加载网页、文件、 html

UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话 - (UIWebView *)webView

ios 按钮点击无反应

今天项目遇到有个UIButton无法点击,弄了半天,总结出以下几个结论 1.如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,当开发中,遇到UIButton点击没有响应问题时,我们需要输出btn及它父视图的frame,看看btn.frame是否超出view 2.查看btn上方有没有透明的View遮盖 3.做了一些动画的操作,frame没有改变,但是视图改变了 4.一般按钮的用户交互属性肯定是默认打开的,但是如果父亲视图的属性是关闭的

IOS UIButton用法详解

这段代码动态的创建了一个UIButton,并且把相关常用的属性都列举了.希望对大家有用.   //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 能够定义的button类型有以下6种,// typedef enum {// UIButtonTypeCustom = 0, 自定义风格// UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTy

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果(五) 五一劳动节马上来临,小伙伴有妹有很激动哟,首先祝天下所有的程序猿节日快乐!这个五一对于我来说有点不一样,我的人生从这个五一就转弯了,爱情长跑8年的我结婚了,一会支付宝账号我会公布出去,请自觉打款!谢谢合作. 灯光闪起来: 舞蹈跳起来: 歌曲唱起来: -------------------------------------------------------------------------------------