- 以下問題都是自己在專案中遇到的,解決問題的方法肯定有多種,我所列舉的不一定就是最好的解決辦法。如有問題歡迎大家指正,補充,交流。
-
解決同時按兩個按鈕進兩個view的問題。
[button setExclusiveTouch:YES];
-
在6p模擬器上輸出寬度是414,在6p真機上輸出是375 是測試機本身設定的問題,到設定-顯示與亮度裡面把顯示模式改成“標準”
-
圖片拉伸
UIImage* img=[UIImage imageNamed:@"2.png"];//原圖
UIEdgeInsets edge=UIEdgeInsetsMake(0, 10, 0,10);
//UIImageResizingModeStretch:拉伸模式,通過拉伸UIEdgeInsets指定的矩形區域來填充圖片
//UIImageResizingModeTile:平鋪模式,通過重複顯示UIEdgeInsets指定的矩形區域來填充圖
img= [img resizableImageWithCapInsets:edge resizingMode:UIImageResizingModeStretch];
self.imageView.image=img;
複製程式碼
- UITableView頂部有空白區,cell不在最頂端問題 iOS 7 viewcontroller新增屬性automaticallyAdjustsScrollViewInsets,即是否根據按所在介面的 navigationbar與tabbar的高度,自動調整scrollview的 inset,設定為no,讓它不要自動調整就可以了
self.automaticallyAdjustsScrollViewInsets=NO;
複製程式碼
- 修改tableViewCell選中狀態的顏色
cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame];
cell.selectedBackgroundView.backgroundColor = [UIColor whiteColor];
複製程式碼
- 預設選中第一個cell
NSInteger selectedIndex = 0;
NSIndexPath *selectedIndexPath = [NSIndexPath indexPathForRow:selectedIndex inSection:0];
[_leftSiftTable selectRowAtIndexPath:selectedIndexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
複製程式碼
- 設定btn上的字左對齊
timeBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
timeBtn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
複製程式碼
- 修改textFieldplaceholder字型顏色和大小
textField.placeholder = @"username is in here!";
[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];
[textField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];
複製程式碼
- 改變UILable字型大小,使內容自適應
方法一:
lab.adjustsFontSizeToFitWidth=YES;
方法二:
label.numberOfLines = 0;
label.lineBreakMode = NSLineBreakByWordWrapping;
複製程式碼
- 修改狀態列字型顏色 只能設定兩種顏色,黑色和白色,系統預設黑色 設定為白色方法: (1)在plist裡面新增Status bar style,值為UIStatusBarStyleLightContent(白色)或UIStatusBarStyleDefault(黑 色) (2)在Info.plist中設定UIViewControllerBasedStatusBarAppearance 為NO 然後在需要更改的controller裡面寫上下面的程式碼
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
複製程式碼
- 關於右劃返回上一級 自定義leftBarButtonItem後無法啟用系統自帶的右劃返回可以再設定以下程式碼
self.navigationController.interactivePopGestureRecognizer.delegate = self;
複製程式碼
- 去掉導航欄下邊的黑線
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
複製程式碼
- 點選cell單元格的時候取消選中單元格
-(void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
複製程式碼
- 修改pagecontrol顏色
_pageControl.currentPageIndicatorTintColor=SFQRedColor;
_pageControl.pageIndicatorTintColor=SFQGrayColor;
複製程式碼
-
UIView和UIImageview的userInteractionEnabled屬性
UIView的userInteractionEnabled預設是YES UIImageview的userInteractionEnabled預設是NO userInteractionEnabled=YES則代表該檢視可互動,則不響應父檢視。 userInteractionEnabled=NO不可互動,則該檢視上的子檢視也不會響應。
-
去掉UITableView的section的粘性,使其不會懸停。
//有時候使用UITableView所實現的列表,會使用到section,但是又不希望它粘在最頂上而是跟隨滾動而消失或者出現
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == _tableView) {
CGFloat sectionHeaderHeight = 36;
if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
} else if (scrollView.contentOffset.y >= sectionHeaderHeight) {
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
}
}
}
複製程式碼
- 使用LaunchScreen.xib啟動圖不會更換
LaunchScreen.xib裡面圖片已經換過,但是重新啟動app發現啟動圖還是之前的老圖。
解決辦法: 刪除app->重啟手機->重新安裝。 原因是系統儲存了app第一次啟動時使用LaunchScreen.xib的圖片,再次啟動app還會使用這張圖片,只要這張圖片存在。 所以建議不要使用LaunchScreen.xib,使用Xcode7最新的LaunchScreen.storyboard,或者繼續使用老的LaunchImage。
具體可以看Flying_Einstein的LaunchImage和LaunchScreen.xib混用出現的坑