用UIToolBar实现简单毛玻璃效果

UIToolBar自带毛玻璃效果,实现起来非常简单。

在View Controller中拖入一个UIImageView,并设置好图片。

接着我们准备在这个imageView上面加入一个UIToolBar,让这个toolBar变为这个imageView的子控件。

但是这个操作是不能在Storyboard中完成的。因为在Storyboard中除了UIView,其他的控件都不能直接在上面加上子控件。如果想给这个UIImageView上面加上子控件,那么需要用代码来实现。

Control-Drag设置这个UIImageView的IBOutlet,名为imageView。并且创建一个UIToolBar名为toolBar。接着给imageView发送addSubview:消息,将toolBar加到imageView上。代码如下:

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.imageView.bounds]; // toolBar的frame就是imageView的bounds。

    [self.imageView addSubview:toolBar];
}

@end

效果如下:

另外,我们可以通过修改toolBar的barStyle属性来实现不同风格的毛玻璃效果:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.imageView.bounds];
    toolBar.barStyle = UIBarStyleBlack; // 改变barStyle
    [self.imageView addSubview:toolBar];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 话说苹果在iOS7.0之后,很多系统界面都使用了毛玻璃效果,增加了界面的美观性,比如下图的通知中心界面; 效果图:...
    Mr_董阅读 5,077评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,963评论 25 709
  • Stacy按: 上周做了一回在线分享,见了一位朋友,有两件事情我觉得可以放在一起梳理一下。 01 上周我在某个平台...
    Stacy的职场成长指南阅读 2,325评论 0 0
  • 1.轨迹记录+平日训练 【户外手表】 2.保证好的体型和身体素质 应对长时间长距离的旅行 【健身以及健身衍生品】 ...
    Han_yek阅读 1,792评论 0 0
  • 这几张照片有点像胶片的效果了! 拍照小白的日常! 就是多拍!多看!多玩! 拍出最真实的日常生活哈哈哈哈 一切没有正...
    Jean_杨阅读 2,087评论 0 2

友情链接更多精彩内容