• WYS APP


    UI图:http://modao.io/app/H8eZCQdV1pskjQ7z8bLh

    四个tab:我要赛、赛事、运动吧、个人中心

      

     赛事页面

    1、主要是个NavigationController

    2、赛事主页面:SaiShiXinXiEventViewController

    UITableView实现

     - 点击整块,跳转到赛事详情页

     - 点击星星,表示对赛事感兴趣

     - 点击分享,分享赛事(预计要用第三方分享sdk)

     - 点击筛选,弹出下拉筛选栏,筛选后刷新页面数据

     - 点击城市,跳转到城市页

    3、城市页:SaiShiXinXiCityViewController

    UITableView实现

    4、赛事详情页:SaiShiXinXiEventDetailViewController

    UITableView实现

     - 包含:图片、标题、价格、报名状态、位置、时间、主办方、活动介绍、查看图文详情、已报名赛友、感兴趣赛友、评论、推荐、立即报名

     - 点击位置,跳转到地图页

     - 点击查看图文详情,跳转到图文详情页

     - 点击已报名赛友,跳转已报名赛友列表页

     - 点击感兴趣赛友,跳转感兴趣赛友列表页

     - 点击我要评论,跳转到评论列表页

     - 点击立即报名,跳转到提交订单页

    5、地图页:SaiShiXinXiMapViewController

    预计要接入地图sdk

    6、图文详情页:SaiShiXinXiImageTextDetailViewController

    取PC端url,是个webview

    7、已报名赛友列表页:SaiShiXinXiRegisteredPlayerListViewController

    UITableView实现

    8、感兴趣赛友列表页:SaiShiXinXiInterestedPlayerListViewController

    UITableView实现

    9、评论列表页:SaiShiXinXiCommentListViewController

    UITableView实现

    底部还一个添加评论

    10、提交订单页:SaiShiXinXiOrderSubmitViewController

     - 包含:标题、地址、时间、票价信息、参加人员、添加人员按钮、总价、提交按钮

     - 点击参加人员的删除按钮,可删除

     - 点击添加人员按钮,弹出填写报名信息浮层页,填写完信息后点击确定,可添加人员

     - 点击提交按钮,跳转到手机验证页

    11、手机验证页:SaiShiXinXiMobileVerificationViewController

    验证成功后,弹出报名成功浮层页

    问题:支付页?

    2015.6.11

    从赛事信息主页点击城市按钮,在城市页选择一个城市后跳转回主页面,这时候需要将选择的城市信息回传回来

    http://blog.csdn.net/mad1989/article/details/7919504

    网上搜了有三种方法:

    1、建一个model来专门保存城市信息

    2、notification实现

    3、delegate实现

    这里说一下第二种notification的实现方式

    第一步:在发送数据的视图页面,注册+发送通知

    [[NSNotificationCenter defaultCenter] postNotificationName:@"cityNotification" object:@"testNotification"];

    第二步:在接收数据的视图页面,接收通知

    1 - (void)viewWillAppear:(BOOL)animated {
    2     [super viewWillAppear:animated];
    3     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationHandle:) name:@"cityNotification" object:nil];
    4 }
    5 - (void)notificationHandle:(NSNotification *)notification {
    6     self.selectedCity.title = [notification object];
    7 }

    2015.6.12

    在自定义 UITableViewCell 时,通常在 初始化操作中加入subview,然后在 layoutSubviews 中定义 subview 的 frame

     1 - (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier {
     2     self = [super initWithReuseIdentifier:reuseIdentifier];
     3     
     4     if (self) {
     5         
     6         self.backgroundView.backgroundColor = [UIColor lightGrayColor];
     7         
     8         _titleLabel = [[UILabel alloc] init];
     9         _titleLabel.font = [UIFont systemFontOfSize:kEventInfomationTitleFontSize];
    10         _titleLabel.text = @"2015年“中国移动4G杯”大理千人环洱海自行车赛";
    11         _titleLabel.textColor = [UIColor whiteColor];
    12         
    13         [self.contentView addSubview:_titleLabel];
    14     }
    15     
    16     return self;
    17 }
    18 
    19 - (void)layoutSubviews {
    20     [super layoutSubviews];
    21     
    22     CGFloat width = CGRectGetWidth(self.contentView.bounds);
    23     
    24     {
    25         self.titleLabel.frame = CGRectMake(20, 4, width-40, 20);
    26         [self.titleLabel sizeToFit];
    27     }
    28 }

    sizeToFit意思是,如果label中的文字长度没有达到宽度的话,会自动缩短宽度以适配文字的长度;

    问题:如何设置tableview的分割线为不可见

    解答:

    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    2015.6.13

    经验:

    UIView对象,如果用纯代码形式创建,调用的是 initWithFrame

    如果是在xib活着storyboard中创建,此时 initWithFrame 方法不会被调用,此时如果需要重新设置UIView的各项属性,可以在 initWithCoder 中设置;

    问题:

    如何设置 UITableViewCell 为不可选中状态

    解答:

    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    原来这种 selecetionStyle有None、Blue、Grey、Default,但在7.0系统之后,只有None和Default两种;

    经验:

    现在price、location、time、cup、type五种cell都是自定义的,其实有很多重复代码

    考虑把图标和文字部分在一个cell的基类实现;

    特别之处再另外添加,比如:

    price的右侧,有个报名中的图标,可以考虑新建一个stateLabel,将之作为cell.accessoryView;

    location的右侧,有个小箭头,这个应该可以系统实现;

    cup文字的末尾,有个小图标表示政、体、企等,可以做个图标加上去;

    问题:

    在自定义的TableViewCell中加了一个属性 imageView,提示错误如下:

    Auto property synthesis will not synthesize property 'imageView' because it is 'readwrite' but it will be synthesized 'readonly' via another property

    解答:

    错误原因是,imageView的名字起的和系统属性一样了,而这个属性是 readonly的

    只要换个名字就行啦

    问题:

    在cell上加了一个button,背景色设为橘黄色,点击cell的颜色设为灰色,目前点击之后,button的背景色也会变成灰色,我想让它保持不变,如何设置?

    解答:

    1 // 设置背景色
    2 typeButton.backgroundColor = [UIColor orangeColor];
    3 
    4 // 替换为 
    5 
    6 // 设置一张带颜色的图片作为背景
    7 [typeButton setBackgroundImage:[UIImage imageWithColor:[UIColor orangeColor]] forState:UIControlStateNormal];

    其中 imageWithColor 是用少鸿提供的 category

    问题:

    如何设置UILabel的文本居中?

    解答:

    titleLabel.textAlignment = NSTextAlignmentCenter;

    2015.6.14

    问题:

    我想让赛事详情页底部的tabbar消失,之前用的方法是:

    1 SaiShiXinXiEventDetailVC *edVC = [[SaiShiXinXiEventDetailVC alloc] init];
    2 edVC.hidesBottomBarWhenPushed = YES;
    3 [self.navigationController pushViewController:edVC animated:YES];

    但是没有生效;

    考虑到EventList是storyboard实现的,于是又在storyboard中设置

    但还是没有生效;

    解答:

    问题:

    UITableViewCell的分割线左边有一块是空白的,如何改成从头开始的?

    解答:

     1 // viewDidLoad 中加上如下
     2 - (void)viewDidLoad {
     3     [super viewDidLoad];
     4     
     5     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
     6         [self.tableView setSeparatorInset:UIEdgeInsetsZero];
     7     }
     8 
     9     if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
    10         [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    11     }
    12 }
    13 
    14 // 修改willDisplayCell
    15 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    16     
    17     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
    18         [cell setSeparatorInset:UIEdgeInsetsZero];
    19     }
    20     
    21     if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
    22         [cell setLayoutMargins:UIEdgeInsetsZero];
    23     }
    24 }

    文档 by xuyang

    1、赛事详情页

    • M:nil
    • V:
    1. 基类:SaiShiXinXiTableViewCell
    2. 信息基类:SaiShiXinXiEventInfomationBaseCell
    3. 头图:SaiShiXinXiEventInfomationImageCell
    4. 标题:SaiShiXinXiEventInfomationTitleCell
    5. 活动介绍:SaiShiXinXiEventIntructionTextCell
    6. 赛友头像:SaiShiXinXiPlayerHeadPhotoCell
    7. 评论列表:SaiShiXinXiCommentListCell
    8. 推荐:SaiShiXinXiRecommendDetailCell
    • C:SaiShiXinXiEventDetailVC

    2、城市选择页

    • M:SaiShiXinXiCityModel
    • V:nil
    • C:SaiShiXinXiCityTableViewController
  • 相关阅读:
    .NE 学习概要
    (转)工作之路---记录LZ如何在两年半的时间内升为PM
    XP下Winform背景透明问题
    CSE(Corrupted State Exceptions) 严重异常处理办法
    (转)C#模拟键盘鼠标事件
    (转).net项目技术选型总结
    (转)MSMQ续
    (转)MSMQ(消息队列)
    (转)TCP三次握手
    Socket编程初探
  • 原文地址:https://www.cnblogs.com/mobilefeng/p/4563441.html
Copyright © 2020-2023  润新知