随手记

02-27

今天,写了在navigationbar上添加一个button。

出现问题:在一个页面添加之后,其他所有页面都添加上了,无法去掉。

解决:学习了titleview。

代码如下:

  ///
   UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    titleView.backgroundColor = [UIColor clearColor];
    
    /// 主题类型选择按钮
    UIButton * kindSelectBtn = [LLCreateControls createButtonWithFrame:CGRectMake(240/2 * kWidthScale, 16/2 * kWidthScale, 55/2 , 56/2) Font:16 Image:@"Circle_detailSelectBtnbg" Title:nil Target:self Selector:@selector(selectTopicAction:) BackgroundColor:[UIColor clearColor] TitleColor:[UIColor colorWithRed:100/255.0f green:100/255.0f blue:100/255.0f alpha:1]];
    [titleView addSubview:kindSelectBtn];
    
    topicKindLabel = [LLCreateControls createLabelWithFrame:CGRectMake(100/2 * kWidthScale, 10/2 * kWidthScale, 582/2 , 64/2 * kWidthScale) Font:18 Text:@"最后回复" BackgroundColor:[UIColor clearColor] TextColor:[UIColor colorWithRed:100/255.0f green:100/255.0f blue:100/255.0f alpha:1]];
    [titleView addSubview:topicKindLabel];
    
    self.navigationItem.titleView = titleView;


*********************************************************

02- 28

一。。。。。


实现点击话题标签弹出这些标签,并可以横向滑动。

难点:每个标签标题不一定,长度无法确定,需要根据前一个标签的位置来确定下一个标签的位置。

解决:设置一个静态button,用来保存前一个button。

遇到问题:第一次运行没有问题,退出当前页面再进入时候,就不再显示添加的标签了。

解决:进入该页面需要重新设置那个静态button。

formerButton = [[UIButtonalloc]initWithFrame:CGRectZero];

// 获取上一个button

static UIButton * formerButton;

///

    labelScrollview = [[UIScrollViewalloc]initWithFrame:CGRectMake(0, buttonBgView.bottom +24/2 *kWidthScale,kScreenWidth,42/2 *kWidthScale)];

    labelScrollview.showsHorizontalScrollIndicator =NO;

    labelScrollview.backgroundColor = [UIColorclearColor];

    labelScrollview.contentSize =CGSizeMake(kScreenWidth *2, 42/2 *kWidthScale);

    

    // labelScrollview横向滑动范围

    CGFloat contentWidth =0;

     NSArray * labelTitleArr =@[@"交流",@"病人转诊",@"号召",@"学术交流",@"病人转诊",@"号召"];

    /// 标签button

    for (int i =0; i<6; i++) {

       

        NSUInteger length = [labelTitleArr[i]length];

        NSLog(@"length == %lu,num == %lu",(unsignedlong)length,length/2);

        

        UIButton * labelButton = [LLCreateControlscreateButtonWithFrame:CGRectMake(formerButton.right +22/2 * kWidthScale,0,(74/2 + (length -2) *25/2) *kWidthScale ,42/2)Font:13Image:nilTitle:labelTitleArr[i]Target:selfSelector:@selector(labelBtnAction:)BackgroundColor:[UIColorclearColor]TitleColor:[UIColorcolorWithRed:129/255.0fgreen:129/255.0fblue:129/255.0falpha:1]];

        labelButton.layer.masksToBounds =YES;

        labelButton.layer.cornerRadius =1.0f;

        labelButton.layer.borderWidth =0.5;

        labelButton.layer.borderColor = [UIColorcolorWithRed:129/255.0fgreen:129/255.0fblue:129/255.0falpha:1].CGColor;

        labelButton.tag =200 + i;

        formerButton = labelButton;

        contentWidth += formerButton.width + 22/2 *kWidthScale;

        NSLog(@"contentWidth == %f",contentWidth);

        [labelScrollviewaddSubview:labelButton];

        

    }

    labelScrollview.contentSize = CGSizeMake(contentWidth +22/2 *kWidthScale,42/2 *kWidthScale);

    NSLog(@"labelScrollview.contentSize == %f",labelScrollview.contentSize.width);

二。。。。

红色的部分根据导航栏的标题不同会显示不同高度。

问题:不可以用headerview来做,显示效果不对。

解决:使用tableview协议方法来完成。

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

    return[memberKindLabel.textisEqualToString:@"全部"]?96/2 * kWidthScale:68/2 *kWidthScale;

    

}


- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

{

 // 添加显示label

}

在导航栏选择按钮的弹出视图的代理方法里刷新tableview。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值