zoukankan      html  css  js  c++  java
  • QQ聊天气泡(图片拉伸不变样)、内容尺寸定制(高度随字数、字体而变)

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.view.backgroundColor = [UIColor whiteColor];

        /**

         

         QQ聊天 气泡的实现

         

         */

        self.QQBubble = [UIButton buttonWithType:UIButtonTypeCustom];

        self.QQBubble.backgroundColor = [UIColor blueColor];

    //    self.QQBubble.titleLabel.backgroundColor = [UIColor purpleColor];

        NSString *string = @"《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间《蛮荒记》的故事展开:大荒586年, 神农化羽,神帝之位悬空,引发金、木、水、火、土五族大战。神农传人拓跋野与义弟蚩尤联合对抗侵略者,双军交锋,大地却在战场中央裂开,封印太古凶魔的皮母地丘重现人间";

        [_QQBubble setTitle:string forState:UIControlStateNormal];

        [_QQBubble setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

        _QQBubble.titleLabel.numberOfLines =0;

        _QQBubble.titleLabel.font = MyFont;

        /**

         *

         *  -----内容尺寸(高度)根据 字的数量、字体多少决定-----     按钮尺寸需要比内容尺寸宽20边界

         *

         */

        CGSize textSize = [string boundingRectWithSize:CGSizeMake(150, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:MyFont} context:nil].size;

        CGSize textBtnSize = CGSizeMake(textSize.width + Padding*2, textSize.height +Padding*2);

        self.QQBubble.contentEdgeInsets = UIEdgeInsetsMake(Padding, Padding, Padding, Padding);

        self.QQBubble.frame = CGRectMake(50, 100, textBtnSize.width, textBtnSize.height);

        /**

         *  -----拉伸图片 (防止边框走样)------

         */

        UIImage *normal = [UIImage imageNamed:@"yellowfish.png"];

        CGFloat w = normal.size.width * 0.5;

        CGFloat h = normal.size.height * 0.5;

        UIImage *lastImage = [normal resizableImageWithCapInsets:UIEdgeInsetsMake(h-1, w-1, h, w)];

        [self.QQBubble setBackgroundImage:lastImage forState:UIControlStateNormal];

        [self.view addSubview:self.QQBubble];

    }

  • 相关阅读:
    《网络》:关于计算机网络的必备常识【无序】(不定时更新)
    《网络》:设置三个密码:通过console口连接设备,进入特权模式,登录Telnet
    《网络》:交换机基本配置命令
    启动eclipse时出现“Failed to load the JNI shared library jvm.dll”错误及解决
    java之servlet小记
    Nokia大事录
    Android之HandlerThread
    Android进程间的通信之AIDL
    Android进程间的通信之Messenger
    Loaders
  • 原文地址:https://www.cnblogs.com/lrr0618/p/5175915.html
Copyright © 2011-2022 走看看