UI練習(xí)之簡(jiǎn)易新聞

IOS-NewsApp

本項(xiàng)目是用于熟悉UI控件而學(xué)習(xí)的一個(gè)小項(xiàng)目

此項(xiàng)目沒(méi)有適配其他屏幕 使用UIView來(lái)模仿視圖控制器

公共部分

  • 加入了一個(gè)constant.h文件烈评,用來(lái)放常量摩窃,方便其他地方調(diào)用
// 屏幕的寬高
#define UISCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#define UISCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
  1. 完成頂部的TopView
    • 對(duì)TopView.m里面的label位置的計(jì)算
    • 外放了一個(gè)方法給外部調(diào)用,用來(lái)修改label的值
    -(void)setTitle:(NSString*) title {
    UILabel *label = [[UILabel alloc]init];
    label.text = title;
    // 清除color
    label.backgroundColor = [UIColor clearColor];
    label.textColor = [UIColor whiteColor];
    UIFont *font = [UIFont systemFontOfSize:20.0];
    label.font = font;
    
    // 動(dòng)態(tài)計(jì)算位置,字典類型
    CGSize labelHW = [title sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font,NSFontAttributeName, nil]];
    
    label.frame = CGRectMake((UISCREEN_WIDTH-labelHW.width)/2, 20, labelHW.width, labelHW.height);
    [self addSubview:label];
}
  1. 中間部分的輪播圖
  • 新建一個(gè)MiddleView類
  • 使用一個(gè)自定義構(gòu)造方法楞黄,傳遞列表數(shù)組進(jìn)去即可,方法簡(jiǎn)單,直接看代碼即可
  1. 分類消息提示
    • 新建一個(gè)PromprView類幸撕,繼承UILabel ,在里面自定義構(gòu)造方法外臂,并且在h文件中公開
    • 具體適用法看MiddleView.m文件
-(id)initWithPoint:(CGPoint)point meaasge:(int) message {
    CGRect rect;
    NSString *labelStr = nil;
    if (message < 10) {
        rect = CGRectMake(point.x, point.y, 20, 20);
        labelStr = [NSString stringWithFormat:@"%d",message];
    } else if (message < 100) {
        rect = CGRectMake(point.x, point.y, 40, 20);
        labelStr = [NSString stringWithFormat:@"%d",message];
    } else {
        rect = CGRectMake(point.x, point.y, 40, 20);
        labelStr = [NSString stringWithFormat:@"%@",@"99+"];
    }
    
    self = [super initWithFrame:rect];
    
    if (self) {
        self.textColor = [UIColor whiteColor];
        self.textAlignment = NSTextAlignmentCenter;
        self.backgroundColor = [UIColor redColor];
        self.text = labelStr;
        self.layer.cornerRadius = 10.0;
        self.layer.masksToBounds = true; // UIView layer剪切
    }
    return self;
    
}

  1. 蒙板的設(shè)計(jì)
  • 新建一個(gè)MaskView類并且繼承UIView
  • 數(shù)據(jù)使用字典來(lái)保存每一個(gè)圖文的信息
...
    NSDictionary *newsinfo0 = [NSDictionary dictionaryWithObjectsAndKeys:@"1.png",@"image",@"iOS9的那些神坑",@"info", nil];
    NSDictionary *newsinfo1 = [NSDictionary dictionaryWithObjectsAndKeys:@"2.png",@"image",@"iOS9的攝像頭",@"info", nil];
    NSDictionary *newsinfo2 = [NSDictionary dictionaryWithObjectsAndKeys:@"3.png",@"image",@"iOS9UiStackView",@"info", nil];
    
    NSArray *newsInfo = [[NSArray alloc]initWithObjects:newsinfo0,newsinfo1,newsinfo2,nil];
...

  • MaskView 放出2個(gè)方法給外部調(diào)用坐儿,具體實(shí)現(xiàn)方法看m文件
#import <UIKit/UIKit.h>

@interface MaskView : UIView
-(void) setTitle:(NSString*) title;
-(void) setPageControlNum:(int)pageNum;
@end

  1. 圖文描述

    • 添加MixImageText類,用來(lái)初始化整個(gè)圖文列表
    • 在MiddleView里面調(diào)用即可
  2. 搜索功能界面

    • TopView上新增Search按鈕
    • 因?yàn)闆](méi)有用視圖控制器宋光,所以就使用addSubView的方法來(lái)模擬
  3. 暗夜模式

    • 主要是背景色的變換
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末貌矿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子罪佳,更是在濱河造成了極大的恐慌逛漫,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赘艳,死亡現(xiàn)場(chǎng)離奇詭異酌毡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)蕾管,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門枷踏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人娇掏,你說(shuō)我怎么就攤上這事呕寝。” “怎么了婴梧?”我有些...
    開封第一講書人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵下梢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我塞蹭,道長(zhǎng)孽江,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任番电,我火速辦了婚禮岗屏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漱办。我一直安慰自己这刷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開白布娩井。 她就那樣靜靜地躺著暇屋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洞辣。 梳的紋絲不亂的頭發(fā)上咐刨,一...
    開封第一講書人閱讀 49,856評(píng)論 1 290
  • 那天昙衅,我揣著相機(jī)與錄音,去河邊找鬼定鸟。 笑死而涉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的联予。 我是一名探鬼主播啼县,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躯泰!你這毒婦竟也來(lái)了谭羔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤麦向,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后客叉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诵竭,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年兼搏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卵慰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡佛呻,死狀恐怖裳朋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吓著,我是刑警寧澤鲤嫡,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布,位于F島的核電站绑莺,受9級(jí)特大地震影響暖眼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜纺裁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一诫肠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欺缘,春花似錦栋豫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至络凿,卻和暖如春骡送,著一層夾襖步出監(jiān)牢的瞬間昂羡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工摔踱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留虐先,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓派敷,卻偏偏與公主長(zhǎng)得像蛹批,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子篮愉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 1腐芍、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,969評(píng)論 3 119
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,339評(píng)論 8 265
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件试躏、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 第一颠蕴,要自信泣刹,而且不要給自己設(shè)限。第二犀被,關(guān)于寫作椅您,所以最重要的是要寫持續(xù)不斷的寫,一直寫寡键。第三掀泳,自己的老板,怎么能...
    帥帥寶貝閱讀 148評(píng)論 0 0
  • 愛(ài)的兩顆心不斷的吸引 牽引的那條線越來(lái)越短 我們只顧著享受愛(ài)情帶來(lái)的快樂(lè) 卻忽略了愛(ài)情也需要呼吸 在我們看不見(jiàn)的瞬...
    秦雨希閱讀 352評(píng)論 0 0