Shu*_*Haq 58 iphone uibarbuttonitem
我想知道如何将图像设置为UIBarButtonItem,然后在创建UIBarButtonItem时使用InitWithImage将其添加到UIToolbar.
我正在执行以下操作,但它会创建一个空白空白,其中图像应位于UIToolbar上
UIImage *image = [UIImage imageNamed:@"6.png"];
UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(pp:)];
Run Code Online (Sandbox Code Playgroud)
谢谢!
Kwe*_*exi 70
这是一个从Facebook徽标创建工具栏按钮的示例.创建指向图像的指针(已添加到xCode的文件),创建自定义按钮,更改按钮大小以匹配图像,设置按钮图像,从按钮视图创建工具栏按钮.
UIImage *faceImage = [UIImage imageNamed:@"facebook.png"];
UIButton *face = [UIButton buttonWithType:UIButtonTypeCustom];
face.bounds = CGRectMake( 0, 0, faceImage.size.width, faceImage.size.height );
[face setImage:faceImage forState:UIControlStateNormal];
UIBarButtonItem *faceBtn = [[UIBarButtonItem alloc] initWithCustomView:face];
Run Code Online (Sandbox Code Playgroud)
Vah*_*han 67
对于iOS 7+,您可以执行以下操作:
Objective-C的
UIImage *image = [[UIImage imageNamed:@"myImage.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(YOUR_METHOD:)];
Run Code Online (Sandbox Code Playgroud)
斯威夫特2.3
let image = UIImage(named: "myImage")?.imageWithRenderingMode(.AlwaysOriginal)
let button = UIBarButtonItem(image: image, style: .Plain, target: self, action: #selector(YOUR_METHOD(_:)))
Run Code Online (Sandbox Code Playgroud)
Swift 3.0
let image = UIImage(named: "myImage")?.withRenderingMode(.alwaysOriginal)
let button = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(YOUR_METHOD(_:)))
Run Code Online (Sandbox Code Playgroud)
Ste*_*vid 41
我会尝试设置
UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"image.png"] style:UIBarButtonItemStylePlain target:self action:@selector(pp:)];
Run Code Online (Sandbox Code Playgroud)
Tim*_*wen 18
条形图上显示的图像来自此图像.如果此图像太大而无法放在条形图上,则会缩放以适合该图像.通常,工具栏和导航栏图像的大小为20 x 20磅.源图像中的alpha值用于创建图像 - 忽略不透明值.
换句话说,UIBarButton项目将忽略图像的颜色并根据当前的条形样式重新着色.显示图像的唯一方法是使用不同的alpha值绘制图像.由于图像的所有像素都具有1的alpha值,因此它们都以最大亮度绘制,并获得空白区域.
Kin*_*ard 12
在Swift中:
第一解决方案
let img = UIImage(named: "picture")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
let leftBarButtonItem = UIBarButtonItem(image: img, style: UIBarButtonItemStyle.Plain, target: self, action: nil)
self.navigationItem.leftBarButtonItem = leftBarButtonItem
Run Code Online (Sandbox Code Playgroud)
二解决方案
let img = UIImage(named: "picture")!
let imgWidth = img.size.width
let imgHeight = img.size.height
let button = UIButton(frame: CGRect(x: 0, y: 0, width: imgWidth, height: imgHeight))
button.setBackgroundImage(img, forState: .Normal)
button.addTarget(self, action: nil, forControlEvents: UIControlEvents.TouchUpInside)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76005 次 |
| 最近记录: |