IOS个人项目-微博

原创 2016年08月30日 20:47:33

一、基本配置以及主体框架

项目主体架构:用tabBarController为根控制器,四个navigationController为它的子控制器,这四个navi管理各自的VC.
项目文件夹类型:用MVC的方式分类,大概为四个模块,在ohter文件夹中放入必要的分类文件跟扩展文件以及常用第三方,创建pch文件,设置路径

拖入启动图片跟appIcon,初始化window,设置根VC为自定义的tabBarVC,创建子控制器时,抽出一个方法

/**
* 初始化子控制器
*/
- (void)setupChildVc:(UIViewController )vc title:(NSString )title image:(NSString )image selectedImage:(NSString )selectedImage

{

// 设置文字和图片
 vc.tabBarItem.title = title;

vc.tabBarItem.image = [UIImage imageNamed:image];

vc.tabBarItem.selectedImage = [UIImage imageNamed:selectedImage];

vc.view.backgroundColor = [UIColor colorWithRed:arc4random_uniform(100)/100.0 green:arc4random_uniform(100)/100.0 blue:arc4random_uniform(100)/100.0 alpha:1.0];

// 包装一个导航控制器, 添加导航控制器为tabbarcontroller的子控制器

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

[self addChildViewController:nav];

}

后面带有UI_APPEARANCE_SELECTOR的方法, 都可以通过appearance对象来统一设置

// 通过appearance统一设置所有UITabBarItem的文字属性

NSMutableDictionary *attrs = [NSMutableDictionary dictionary];

attrs[NSFontAttributeName] = [UIFont systemFontOfSize:12];

attrs[NSForegroundColorAttributeName] = [UIColor grayColor];



NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];

selectedAttrs[NSFontAttributeName] = attrs[NSFontAttributeName];

selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor];


UITabBarItem *item = [UITabBarItem appearance];

[item setTitleTextAttributes:attrs forState:UIControlStateNormal];

[item setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];

由于tabBar中间的按钮特殊性,考虑自定义tabBar的方式(由于tabBar是只读属性,故用kvc自定义)

[self setValue:[[XMGTabBar alloc] init] forKeyPath:@"tabBar"];

在自定义的tabBar文件里面,由于是通过代码创建,只需重写- (instancetype)initWithFrame:(CGRect)frame方法,在此方法里面创建中间的发布按钮,并layoutSubViews方法里面设置坐标

在设置导航栏左边按钮中,发现创建按钮的代码可以抽出来

// 设置导航栏标题
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MainTitle"]];

// 设置导航栏左边的按钮
UIButton *tagButton = [UIButton buttonWithType:UIButtonTypeCustom];
[tagButton setBackgroundImage:[UIImage imageNamed:@"MainTagSubIcon"] forState:UIControlStateNormal];
[tagButton setBackgroundImage:[UIImage imageNamed:@"MainTagSubIconClick"] forState:UIControlStateHighlighted];
tagButton.size = tagButton.currentBackgroundImage.size;
[tagButton addTarget:self action:@selector(tagClick) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tagButton];

为UIBarButtonItem写一个分类

@interface UIBarButtonItem (XMGExtension)
+ (instancetype)itemWithImage:(NSString *)image highImage:(NSString *)highImage target:(id)target action:(SEL)action;
@end  

    @implementation UIBarButtonItem (XMGExtension)
    + (instancetype)itemWithImage:(NSString *)image highImage:(NSString *)highImage target:(id)target action:(SEL)action
    {
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setBackgroundImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
    [button setBackgroundImage:[UIImage imageNamed:highImage] forState:UIControlStateHighlighted];
    button.size = button.currentBackgroundImage.size;
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    return [[self alloc] initWithCustomView:button];
    }
    @end
    

ios仿微博个人首页

前言最近在公司拿到了一个仿微博个人主页效果的需求,于是在网上找了一个类似的demo。当时是直接拿来用的,之后空闲下来了,就研究了实现方法。于是写了这份笔记分析首先我们看看这个效果图 有以下几个特点:...
  • Bloody_Leaves
  • Bloody_Leaves
  • 2016年10月16日 18:08
  • 2583

iOS微博个人主页

创建控制器LMMyHomeController.h // // LMMyHomeController.h // lingfo // // Created by limin on 16/5/24....
  • Leemin_ios
  • Leemin_ios
  • 2017年01月04日 17:31
  • 897

IOS调起微博直接到指定的个人页面

公司提出的新需求,查了新浪微博的sdk也找不到解决办法。 在网上也看到知乎上有几个人遇到了同样的问题,所以在这里记录一下,希望可以帮到大家。第一种情况 直接打开网页在安装的客户端的情况下,直接使用 ...
  • Oragin
  • Oragin
  • 2016年06月14日 14:26
  • 2231

仿微博个人主页效果

最近看到很多App的个人主页都流行使用导航栏随着UITableView的滑动来产生渐变的效果。此篇文章讲述的是仿微博个人页,效果图如下: 1.分析项目组成架构效果:当往上滑动的时候,顶部渐渐出现条,...
  • u010411521
  • u010411521
  • 2015年10月27日 15:58
  • 2595

iOS开发-仿新浪博客个人主页效果

在仿微博主页时,对其做了小小的改动,效果怎样,看大家项目的需求了: 分段控制器用的是YUSegment; 头部下拉放大使用的HFStretchableTableHeaderView,这个虽然很久了...
  • qq_24874679
  • qq_24874679
  • 2017年03月16日 15:44
  • 766

新浪微博个人主页效果实现(头像随tableview滑动)

新浪微博个人主页效果实现(头像随tableview滑动)
  • jueyi1127
  • jueyi1127
  • 2016年08月31日 17:07
  • 754

献给初学iOS的小盆友们——微博app项目开发之十六搭建发送微博界面(上)

从这节课开始我们学习搭建发送微博界面。发送界面看起来简单,但是却包含了许多细节处理。所以我们分为几节课来完成,尽量讲解详细点。本节内容第十六节代码资料本节代码资料16.1 设置发送界面的导航内容当我们...
  • sinat_23659935
  • sinat_23659935
  • 2016年01月31日 00:36
  • 1614

iOS 微博第三方登录的简单实现

一、下载微博SDK 微博SDK的官方github : https://github.com/sinaweibosdk/weibo_ios_sdk 下载所需要的SDK 二、集成SDK 下载后的SDK文件...
  • japhoo
  • japhoo
  • 2016年04月20日 10:21
  • 3926

仿新浪微博客户端--界面设计(1)

仿新浪微博客户端--界面设计(1) 2013年9月16日 新浪微博客户端继续开发 其实这些页面已经做好很久了,因为一直有其他事情要做,所以没太多时间发博客。关于新浪微博客户端的界面我想玩...
  • wwj_748
  • wwj_748
  • 2013年09月16日 11:18
  • 8727

iOS微博授权登录及获取用户数据的方法

前言:           平时在开发一个app应用时,往往为了考虑用户体验以及防治用户的流失,都需要给应用添加第三方授权登录的功能。下面给大家说一下两种实现授权登录以及请求微博openAPI的方法。...
  • winer888
  • winer888
  • 2016年04月10日 20:41
  • 4049
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS个人项目-微博
举报原因:
原因补充:

(最多只允许输入30个字)