iOS-OC tips

UIButton文字和圖標間距:

[button setImageEdgeInsets:UIEdgeInsetsMake(0.0, -20, 0.0, 0.0)];


UITabbarItem的圖標大小改變:

vc.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);


UISearchBar設(shè)置取消按鈕的文字:

[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]].title = @"取消";


自定義Tabbarcontroller:


- (void)setup {

self.tabBar.tintColor = [UIColor initWith:Color_Hex_Main];

self.tabBar.backgroundColor = [[UIColor whiteColor]colorWithAlphaComponent:0.96];

self.tabBar.translucent = NO;

[self addChildVC:[HomePageVC class] withTitle:@"首頁" withIconName:ImgName_home];

[self addChildVC:[CategoryPageVC class] withTitle:@"分類" withIconName:ImgName_sort];

[self addChildVC:[GrouppurchasePageVC class] withTitle:@"團購" withIconName:ImgName_Group_purchase];

[self addChildVC:[CartPageVC class] withTitle:@"購物車" withIconName:ImgName_shopping_cart];

[self addChildVC:[MinePageVC class] withTitle:@"我的" withIconName:ImgName_my];

}

- (void)addChildVC:(Class )str withTitle:(NSString *)title withIconName:(NSString *)iconName {

UIViewController *vc = [[str alloc]init];

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

if ([title isEqualToString:@"團購"]) {

vc.tabBarItem.imageInsets = UIEdgeInsetsMake(6, 0, -6, 0);

}else{

vc.title = title;

}

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

vc.tabBarItem.image = [UIImage imageNamed:[iconName stringByAppendingString:@"_d"]];

nav.navigationBar.barTintColor = [UIColor initWith:Color_Hex_Main];

nav.navigationBar.backgroundColor = [UIColor initWith:Color_Hex_Main];

[self addChildViewController:nav];

}



UITabbarItem顯示圖標本身顏色:

vc.tabBarItem.image = [[UIImage imageNamed:iconName]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

vc.tabBarItem.selectedImage = [[UIImage imageNamed:[iconName stringByAppendingString:@"_d"]]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];


UITableViewCell僅僅更新視圖布局:

//僅僅更新視圖高度骚勘、這兩個方法會讓所有的cell重新布局痕钢,然后重新計算高度额嘿。

[tableView beginUpdates];

[tableView endUpdates];

UITableViewCell selectedBackgroundView修改位置:

重載:

- (void )layoutSubviews {

// always try to set frame in layoutSubviews

[super layoutSubviews];

//? ? CGRect frame = CGRectMake(52.0, 0, self.width-67.0, self.height);

CGRect frame = CGRectMake(self.contentView.originX+15.0, 0, self.contentView.width-30.0, self.height);

UIView *backView = [[UIView alloc] initWithFrame:frame];

[backView addCommonShadow:4.0];

[backView addLine: self.contentView.width-30.0 distance:38 isDistanceTop:NO];

self.selectedBackgroundView = backView;

self.selectedBackgroundView.backgroundColor = [UIColor whiteColor];

}


UITableViewCell ?選擇圖標修改:

- (void)layoutSubviews

{

[super layoutSubviews];

for (UIControl *control in self.subviews) {

if (![control isMemberOfClass:NSClassFromString(@"UITableViewCellEditControl")]){

continue;

}

[control mas_makeConstraints:^(MASConstraintMaker *make) {

make.centerY.equalTo(self);

make.right.mas_offset(-30.0);

}];

for (UIView *subView in control.subviews) {

if (![subView isKindOfClass: [UIImageView class]]) {

continue;

}

UIImageView *imageView = (UIImageView *)subView;

if (self.selected) {

// KVC修改

//修改選中背景圖片等

} else {

//修改非選中背景圖片等

}}}

iOS 應(yīng)用跳轉(zhuǎn)到設(shè)置界面:

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

if ([[UIApplication sharedApplication] canOpenURL:url]) {

[[UIApplication sharedApplication] openURL:url];

}

疑問:

GCC 有個visibility屬性, 該屬性是說, 啟用這個屬性:

1. 當-fvisibility=hidden時

動態(tài)庫中的函數(shù)默認是被隱藏的即 hidden. 除非顯示聲明為__attribute__((visibility("default"))).

2. 當-fvisibility=default時

動態(tài)庫中的函數(shù)默認是可見的.除非顯示聲明為__attribute__((visibility("hidden"))).

特別說明: 這個特性是 GCC4.0 以后才有的.

NSMutableArray便利構(gòu)造器

NSMutableArray?*marr=[NSMutableArrayarrayWithCapacity:5];

帶有capacity的方法,

其內(nèi)存原理如下:

capacity后的NSUInteger代表了開辟內(nèi)存的一個單位

初始在內(nèi)存中開辟5個內(nèi)存,如果之后數(shù)組元素多余5個,則會再開辟新的5*2個新的內(nèi)存,[考慮到數(shù)組的連續(xù)內(nèi)存的特性]

單位是以5,把之前的5個元素的內(nèi)容拷貝到新的十個新的內(nèi)存里面,把第六個

也放進去,然后釋放初始狀態(tài)創(chuàng)建的內(nèi)存5個

最后得到了一塊夠用的連續(xù)的內(nèi)存5*2

如果創(chuàng)建的framework中使用了category類,則在使用framework的項目配置中【Other Linker Flags】需要添加參數(shù)【-ObjC]或者【-all_load】呀枢。

如果使用framework的使用出現(xiàn)【Umbrella header for module 'XXXX' does not include header 'XXXXX.h'】,是因為錯把xxxxx.h拖到了public中。

如果出現(xiàn)【dyld: Library not loaded:XXXXXX】,是因為打包的framework版本太高筛严。比如打包framework時托修,選擇的是iOS 9.0忘巧,而實際的工程環(huán)境是iOS 8開始的。

指令集對應(yīng)的設(shè)備

armv6

iPhone睦刃、iPhone 3G

iPod 1G砚嘴、iPod 2G

armv7

iPhone 3GS、iPhone 4

iPod 3G涩拙、iPod 4G际长、iPod 5G

iPad、iPad 2兴泥、iPad 3工育、iPad Mini

armv7s

iPhone 5、iPhone 5C

iPad 4

arm64

iPhone 5s iPhone 6iPhone 6P iPhone 6s iPhone 6sP iPhone 7 iPhone 7P

iPad Air, Retina iPad Mini

判斷當前設(shè)備是否為iPhone X

#define KIsiPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郁轻,一起剝皮案震驚了整個濱河市翅娶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌好唯,老刑警劉巖竭沫,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異骑篙,居然都是意外死亡蜕提,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門靶端,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谎势,“玉大人凛膏,你說我怎么就攤上這事≡嘤埽” “怎么了猖毫?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長须喂。 經(jīng)常有香客問我吁断,道長,這世上最難降的妖魔是什么坞生? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任仔役,我火速辦了婚禮,結(jié)果婚禮上是己,老公的妹妹穿的比我還像新娘又兵。我一直安慰自己,他們只是感情好卒废,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布沛厨。 她就那樣靜靜地躺著,像睡著了一般升熊。 火紅的嫁衣襯著肌膚如雪俄烁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天级野,我揣著相機與錄音页屠,去河邊找鬼。 笑死蓖柔,一個胖子當著我的面吹牛辰企,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播况鸣,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼牢贸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了镐捧?” 一聲冷哼從身側(cè)響起潜索,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎懂酱,沒想到半個月后竹习,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡列牺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年整陌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡泌辫,死狀恐怖随夸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情震放,我是刑警寧澤宾毒,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站澜搅,受9級特大地震影響伍俘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勉躺,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望觅丰。 院中可真熱鬧饵溅,春花似錦、人聲如沸妇萄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冠句。三九已至轻掩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懦底,已是汗流浹背唇牧。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留聚唐,地道東北人丐重。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像杆查,于是被迫代替她去往敵國和親扮惦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

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