请看下面这张来自我正在开发的iPad应用程序的截图片段:
中间的“聊天气泡”图标是使用相同的图像,但使用不同的代码创建的。请注意它已经正确地上色/透明度,但垂直位置不正确(太高)。
我该如何获得一个
其中一个是我的代码或苹果的错误吗?还是两者都有问题?或者都没有问题(即“按设计”)?
编辑:回答的响应
看起来第一个版本使用图像作为掩码,而不是作为常规图像。
看起来是这样,但事实并非如此。如果我用一个由朋友用Photoshop亮化的图像替换图像,并使用
请记住,在
你有来源吗?(特别是苹果链接?)从未听说过。
重新设计图像以成为您自己的形象。这是确保所有工具栏图标的大小、渐变和位置的最佳且唯一的方法。
我并不完全不同意。然而,这是我想要消除的手动步骤。应该有可能获得我想要的行为,而无需进行编辑。(特别是因为我使用现有框架获得所需行为的两个部分。只是不能同时获得)
工具栏的最佳尺寸为25x25和50x50@2x。有时您可能需要降至23。
这是来自苹果官方的吗?也许来自HIG?您能提供一个来源吗?
您可以尝试在其上设置imageInsets来将其向下推。
这也是一个不必要的手动过程。最糟糕的部分是需要为每个图像手动调整,并且如果图像以任何方式更改,则必须进行双重检查。太多的工作了。我想只需将其设置为图像,让底层框架解决如何居中图像的问题。
UIImage* image = [UIImage imageNamed:@"02-chat.png"];
CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
UIButton* button = [[UIButton alloc] initWithFrame:frame];
[button setBackgroundImage:image forState:UIControlStateNormal];
[button addTarget:nil action:NULL forControlEvents:UIControlEventTouchUpInside];
[button setShowsTouchWhenHighlighted:YES];
UIBarButtonItem* chatBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
中间的“聊天气泡”图标是使用相同的图像,但使用不同的代码创建的。请注意它已经正确地上色/透明度,但垂直位置不正确(太高)。
UIImage* image = [UIImage imageNamed:@"02-chat.png"];
UIBarButtonItem* chatBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:nil action:NULL];
我该如何获得一个
UIBarButtonItem
按钮,既具有正确的颜色/透明度(这样我就不必手动设置),又具有正确的垂直定位?其中一个是我的代码或苹果的错误吗?还是两者都有问题?或者都没有问题(即“按设计”)?
编辑:回答的响应
看起来第一个版本使用图像作为掩码,而不是作为常规图像。
看起来是这样,但事实并非如此。如果我用一个由朋友用Photoshop亮化的图像替换图像,并使用
UIButton
,则定位和着色是正确的。我只是试图找到避免手动步骤的方法。请记住,在
UIBarButtonItem
中放置UIResponder对象(例如UIButton)会产生不可预测的结果,我发现最好避免这样做。你有来源吗?(特别是苹果链接?)从未听说过。
重新设计图像以成为您自己的形象。这是确保所有工具栏图标的大小、渐变和位置的最佳且唯一的方法。
我并不完全不同意。然而,这是我想要消除的手动步骤。应该有可能获得我想要的行为,而无需进行编辑。(特别是因为我使用现有框架获得所需行为的两个部分。只是不能同时获得)
工具栏的最佳尺寸为25x25和50x50@2x。有时您可能需要降至23。
这是来自苹果官方的吗?也许来自HIG?您能提供一个来源吗?
您可以尝试在其上设置imageInsets来将其向下推。
这也是一个不必要的手动过程。最糟糕的部分是需要为每个图像手动调整,并且如果图像以任何方式更改,则必须进行双重检查。太多的工作了。我想只需将其设置为图像,让底层框架解决如何居中图像的问题。