如果我只在button中放置一个图像,并将imageEdgeInsets设置得更接近顶部,则图像将保持居中,并且所有function都按预期工作: [button setImage:image forState:UIControlStateNormal]; [button setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, 0.0)]; 如果我只在button中放置一个文本,并将titleEdgeInsets设置得更接近底部,则文本保持居中,并且所有的function都按预期工作: [button setTitle:title forState:UIControlStateNormal]; [button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -30, 0.0)]; 但是,如果我把4条线放在一起,文字干扰图像,并且都失去了中心alignment。 我所有的图像都有30像素的宽度,如果我把UIEdgeInsetMake的left参数设置为setTitleEdgeInsets,则文本再次居中。 问题是,图像永远不会居中,因为看起来它是依赖于button.titleLabel大小。 我已经尝试了许多button大小,图像大小,titleLabel大小的计算,永远不会完全居中。 有人已经有同样的问题?
在iOS 7中,我的UIButton标题在错误的时间进行animation处理 – 迟到。 这个问题不会出现在iOS 6上。我只是使用: [self setTitle:text forState:UIControlStateNormal]; 我宁愿立即发生这种情况,没有空白的框架。 这种眨眼特别让人分心,并将注意力从其他animation中吸引过来。
我以编程方式创build一个button………. button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button addTarget:self action:@selector(aMethod:) forControlEvents:UIControlEventTouchDown]; [button setTitle:@"Show View" forState:UIControlStateNormal]; button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0); [view addSubview:button]; 我怎样才能改变标题颜色?
我正在编写一些unit testing,并且由于这个特定的应用程序的性质,重要的是尽可能高的UI链。 所以,我想要做的是以编程方式触发button,就好像用户在GUI中按下button一样。 (是的,是的 – 我可以只是调用IBActionselect器,但是,这个特定的应用程序的性质,使得假的实际button,这样IBAction从button本身调用是非常重要的。) 什么是这样做的首选方法?
我有一个关于UIButton及其命中的问题。 我在界面生成器中使用了Info Darkbutton,但是我发现命中区域对于某些人的手指来说还不够大。 有没有一种方法来增加button的命中区域,无论是编程或在界面生成器,而不改变信息buttongraphics的大小?
我注意到,当我把一个白色或黑色的UIImage放入一个UISegmentedControl它会自动将它掩盖起来以匹配分段控件的色调。 我以为这真的很酷,并想知道我是否也可以在其他地方做到这一点。 例如,我有一堆形状统一但颜色多样的button。 而不是每个button的PNG,我可以以某种方式使用这种颜色蒙版使用相同的图像为他们所有,但然后设置一个色调颜色或东西来改变他们的实际颜色?
在我的应用程序的某个时候,我有一个突出显示的UIButton (例如,当用户的手指在button上),我需要改变背景颜色,而button突出显示(所以当用户的手指仍然在button)。 我尝试了以下内容: _button.backgroundColor = [UIColor redColor]; 但它不工作。 颜色保持不变。 当button没有突出显示时,我尝试了相同的一段代码,它工作正常。 改变颜色后,我也尝试调用-setNeedsDisplay ,但没有任何效果。 如何强制button来改变背景颜色?
我想在文本的两行左边放置一个图标,使图像和文本的开头之间有大约2-3个像素的空间。 控件本身是水平alignment的(通过Interface Builder设置) button会像这样: | | |[Image] Add To | | Favorites | 我试图configuration这个contentEdgeInset,imageEdgeInsets和titleEdgeInsets无济于事。 我知道一个负值会扩大边缘,而正值会缩小边缘,使其更靠近中心。 我试过了: [button setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, 0)]; [button setImageEdgeInsets:UIEdgeInsetsMake(0, button.titleLabel.bounds.size.width, 0, 0)]; 但是这并不能正确显示。 我一直在调整值,但从左边的插图值-5到-10,似乎没有以预期的方式移动它。 -10会将文字一路向左滑动,所以我预期-5会从左侧向前滑动一半,但不会。 插入内容的逻辑是什么? 我不熟悉图片展示位置和相关术语。 我用这个问题作为参考,但关于我的价值观是不正确的。 UIButton:如何使用imageEdgeInsets和titleEdgeInsets居中图像和文本?
我已经添加了多个target-action-forControlEvents:到一个UIButton。 我想一次性移除所有这些,而不会释放任何东西。 然后我会设定新的目标。 这是可能的,我该怎么办呢?
我有以下代码… UILabel *buttonLabel = [[UILabel alloc] initWithFrame:targetButton.bounds]; buttonLabel.text = @"Long text string"; [targetButton addSubview:buttonLabel]; [targetButton bringSubviewToFront:buttonLabel]; …这个想法是,我可以有button的多行文本,但是文本总是被UIButton的backgroundImage遮挡。 显示button子视图的日志logging调用显示添加了UILabel,但文本本身无法看到。 这是UIButton中的错误还是我做错了什么?