我想制作一个类型为UIButtonTypeCustom的UIButton(用于形状).我想使用button.titleLabel分配标题,因为我需要指定字体.以下代码看起来应该可以工作,但不会 - 没有标签显示,句点.
UIImage *editButtonImage = [UIImage imageNamed: @"editButton.png"];
float width = editButtonImage.size.width;
float height = editButtonImage.size.height;
UIButton *editButton = [UIButton buttonWithType: UIButtonTypeCustom];
editButton.frame = CGRectMake(0, 0, width, height);
[editButton setBackgroundImage: editButtonImage forState: UIControlStateNormal];
editButton.adjustsImageWhenHighlighted = YES;
editButton.titleLabel.text = @"Edit";
editButton.titleLabel.textColor = [UIColor whiteColor];
editButton.titleLabel.textAlignment = UITextAlignmentCenter;
editButton.titleLabel.font = [UIFont fontWithName: @"Helvetica" size: 14];
[self.view addSubview: editButton];
Run Code Online (Sandbox Code Playgroud)
每个人总是说使用setTitle:forState:但是这会给你一个我不喜欢的字体.不推荐使用titleLabel方法 - 它应该可以工作.
我之前已经遇到过好几次并且总是只是解决它,但我真的想弄明白.有任何想法吗?
我希望能够创建一个具有超大响应区域的UIButton.我知道一种方法是覆盖子类中的hitTest方法,但是如何首先实例化我的自定义按钮对象?
[OversizedButton buttonWithType: UIButtonTypeDetailDisclosure];
Run Code Online (Sandbox Code Playgroud)
因为buttonWithType返回一个UIButton而不是OversizedButton,所以它不会开箱即用.
所以我似乎也需要覆盖buttonWithType方法.有谁知道如何做到这一点?
@implementation OversizedButton
+ (id)buttonWithType:(UIButtonType)buttonType
{
// Construct and return an OversizedButton rather than a UIButton
// Needs to handle special types such as UIButtonTypeDetailDisclosure
// I NEED TO KNOW HOW TO DO THIS PART
}
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
// Return results if touch event was in oversized region
// I ALREADY KNOW HOW TO DO THIS PART
}
@end
Run Code Online (Sandbox Code Playgroud)
或者,也许我可以使用alloc/initWithFrame创建按钮.但是buttonType属性是readonly,那么如何创建自定义按钮类型?
注意:我知道还有其他方法可以做到这一点,比如在可见的后面有一个隐形按钮.我不关心这种方法,宁愿避免它.对上述方法的任何帮助都会非常有帮助.谢谢
我正处于开发我的第一个iPad应用程序的早期阶段,为了简单起见,我到目前为止一直在使用AudioServicesPlaySystemSound和相关的函数来播放声音.我的代码基于Apple的Metronome示例中的SoundEffect类.
特定的症状是我可以听到模拟器中的声音但不能听到设备上的声音,尽管我已经确认我可以听到设备上其他应用程序的声音.AudioServicesCreateSystemSoundID返回有效的声音标识符,因此它不像具有不同情况的声音文件的名称那样简单,即"sound.mp3"与"Sound.mp3".
我知道我可能需要切换到不同的库,例如OpenAL,原因无关,但我想知道这里发生了什么.有没有人有什么建议?我可以调用一个函数来获取OSStatus值吗?
* BUMP - 过去几周我一直在研究其他项目,但我现在又重新开始了,我真的很感激答案.谢谢.
我很困惑为什么有一个iPhone API用于反向地理编码(lat/long to address),但不适用于常规地理编码(地址到lat/long).
我希望能够在地图(MKMapView)上以用户输入的地址显示注释.(作为文字,而不是触摸地图)据我所知,这意味着我必须确定输入地址的纬度/经度.
看起来它可以使用HTTP完成,但是,反向地理编码ALSO也可以这样做.为什么他们支持一个而不支持另一个?
关于"为什么?"的答案 还是"怎么样?" 都会受到赞赏.
***有人在这个主题上学到了什么新东西?我还没有听说过任何公告?
当我们创建一个iPhone应用程序的新版本并将其加载到设备时,它会显示为一个额外的图标,而不是替换/覆盖旧的.触摸旧图标会显示旧版本,触摸新图标会显示新图标.这是在调试设备上使用临时版本 - 我们还没有将更新提交给Apple.
我们没有遇到其他应用程序的问题 - 只是这个.我怀疑问题涉及证书,操作系统要求或应用程序默认plist中的某些内容.
如果需要,我可以分享更多信息,但我不确定哪些信息是相关的.这会和任何人敲响吗?