让iPhone问题,怎么让脑子思考问题解决

iPhone更新失败怎么办 这几种方法可以让轻松应对这个问题
iPhone更新失败怎么办 这几种方法可以让轻松应对这个问题
办公软件达人
在iphone上进行iOS10更新,其实就相当于重新安装了一次系统,有些用户在设备升级过程中都出现了升级失败的问题,有些甚至无法开机,直接变砖。今天我们就来解决这个问题。1、iOS10升级后变砖的解决方法(1)手动下载iOS正式版固件手动下载最新iOS10正式版固件,同时在电脑安装最新版iTunes,然后选择SHIFT+更新,进行手动更新。具体如下:下载iOS10正式版固件后,将iPhone连接电脑,打开iTunes。按住shift键的同时,点击“检查更新”。这时iTunes会打开一个文件选择对话框,请找到并选择刚刚下载的iOS10正式版固件,然后继续更新操作。完成上述操作后重启iPhone后将可正常使用。(2)DFU模式更新若更新失败无法开机可进入DFU模式进行更新,DFU模式更新方法如下:将iPhone连接电脑,然后开启iTunes。长按iPhone手机电源键和Home键,大概10秒后放开电源键并继续按住Home键直至设备出现下标。关闭对话框并点击“恢复iPhone”,iTunes会弹出一个确认对话框。点击“下一步”和“同意”之后,固件便会开始被刷入设备当中。3、更新iOS注意事项(1)备份数据在进行系统升级的过程中,为了防止手机出现变砖等特殊情况,最好先将重要的数据进行备份,防止数据丢失所带来的麻烦。我们可以使用iPhone手机特有的iTunes和iCloud进行备份。使用iTunes备份的方法:首先,在电脑上下载并安装iTunes软件,最好在iPhone官方网站进行下载,避免下载到携带病毒的软件。然后运行电脑中安装的iTunes软件,成功连接iPhone到电脑后,在iTunes中选择需要备份的数据,然后单击“立即备份”,耐心等待备份结束。使用iCloud备份的方法:在设置中选择iCloud,登录AppleID。然后选择备份。会跳转到如下界面,点击“立即备份”即可。(2)数据丢失恢复——强力苹果恢复精灵如果在系统更新中出现问题,导致数据丢失,之前又没有进行相关的数据备份,也没有关系,我们可以用强力苹果恢复精灵软件来找回丢失的数据。方法:把iPhone设备连接到电脑,运行软件后选择“从iPhone设备扫描恢复”功能。等软件对iPhone的数据扫描完毕,我们就可以在左侧页面找到丢失的数据,然后勾选自己想要的相关信息,最后点击“恢复选中记录”,即可成功将数据恢复,最后“导出选中记录”即可。更新手机系统就相当于重装了一个新的系统,操作起来有一定的风险,一定要三思而行。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
办公软件达人
百家号 最近更新:
简介: 有意思的办公神技能,数据恢复的小技巧
作者最新文章IOS开发中遇到的问题及解决方法
1.报错Switch is in protect scope
解决方法:
switch (sender.tag) {
//block方式添加动画,这里需要加上大括号解决报错:Switch is in protect scope
center.y -= 20;
[UIView animateWithDuration:1 animations:^{
self.buttonImage.center =
2.使用UITextView输入框上半部仍为空白
解决方法:
self.automaticallyAdjustsScrollViewInsets = NO;
凡是继承UIScrolView的空间都会收到 automaticallyAdjustsScrollViewInsets 属性的影响。默认为 YES ,当有UINavigationbar的时候UITextView的表现为上面空白。
3.在一个UIViewController中更改UITabBar的属性
解决方法:
在tabBar中声明一个更改的方法。在UIViewController中
_tabBarC = (TabBarController *)self.tabBarC
取得tabBarController对象,再用_tabBarC去修改属性。
解决方法:
取得对象可以把该按钮设为全局变量或者通过如下代码获取
[self.navigationController.navigationBar viewWithTag:tag];
对按钮的外形就行设定时,放在如下代码的前面。
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:_sendButton];
但是对是否为禁用状态的设定必须在其后。
[self.navigationController popToViewController:mainC animated:YES];
pop到另一个UINavigationCotroller。只能在同一UINavigationCotroller中push到不同的ViewController。
6.计算UITextView中的行数。
解决方法:
UITextView *textView = (UITextView *)[self.view viewWithTag:tag];
NSString *str = textView.
CGSize size = [str sizeWithAttributes:@{NSFontAttributeName:textView.font}];
int colomNumber = textView.contentSize.height/size.
NSLog(@&%d&,colomNumber);
解决方法:
通过遍历定义在searchBar上的子视图来修改。
修改之前一定要打开取消按钮才能遍历修改。
searchBar.showsCancelButton = YES;
for (id searchBtn in [searchBar.subviews[0] subviews]) {
if ([searchBtn isKindOfClass:[UIButton class]]) {
UIButton *cancalBtn = (UIButton *)searchB
cancalBtn.enabled = YES;
[cancalBtn setTitle:@&取消& forState:UIControlStateNormal];
8.当同一.m文件中出现两个继承于 UIScrollView 的类并设置了代理,使用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 时两个视图各自滚动时都会掉用该方法。可能会产生不必要的bug。
解决方法:
可以设定对应了tag值来限制实现对应逻辑。
9. UITableViewStylePlain 和 UITableViewStyleGrouped 的区别
解决方法:
UITableViewStylePlain只有一组,列表形式
UITableViewStyleGrouped可以多组,列表分组形式,
扩展:如果要在UITableViewCell的头视图上放视图,看需求是怎么样,如果需要头视图跟随tableView滚动,最好选用UITableViewStyleGrouped。
UITableViewStylePlain设置头视图是之后,头视图不会跟随tableView滚动。当然,强行设置UITableViewStylePlain也行,不过需要在 - (void)scrollViewDidScroll:(UIScrollView *)scrollView 中进行计算处理scrollView.contentInset
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat sectionHeaderHeight = 44;
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);
10.隐藏返回按钮
解决方法:
[self.navigationItem setHidesBackButton:YES animated:NO];
要写在当前ViewController中。
11.取消导航栏返回按钮的title
解决方法:
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
12.PCH文件的建立
解决方法:
在Building setting中搜索Prefix Header,将它改为:$(SRCROOT)/项目名/&具体路径/pch文件名
如:$(SRCROOT)/TestDemo/test.pch
13.自定义UIScrollView的开启PageEnable的翻页效果。
解决方法:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
NSLog(@&%f&,targetContentOffset -& x);
NSLog(@&%f&,velocity.x);
static int currentI
int index = ((kScreenWidth - kCellWidthNeedCut)/2 + targetContentOffset -& x ) / (kScreenWidth - kCellWidthNeedCut);
if (currentIndex == index) {
if (velocity.x & 0.4 && index & _topCollectViewArray.count - 1) {
} else if (velocity.x & -0.4 && index & 0){
targetContentOffset -& x =
index * (kScreenWidth - kCellWidthNeedCut);
currentIndex =
14.JSON文件的读取
解决方法:
//需带上后缀名
+ (id)jsonSerializationWithName:(NSString *)jsonName {
NSString *jsonPath = [[NSBundle mainBundle] pathForResource:jsonName ofType:nil];
NSData *jsonData = [NSData dataWithContentsOfFile:jsonPath];
id Dataserialization = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
15.iOS7 tableviewcell上面有button,但是button的点击效果没有
解决方法:
iOS6的UITableViewCell子视图(subviews)的容器是UITableViewCellContentView
iOS7的UITableViewCell子视图(subviews)的容器是UITableViewCellScrollView
由于7中添加了滑动后出现编辑按钮的操作,所以使用scrollView来处理,UITableViewCellScrollView有对触摸的相应处理,导致按钮的点击效果被屏蔽了,但是点击事件还是在的,所以可以通过
tableView.delaysContentTouches = NO;
2.同时在 (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath 代理方法中对scrollView把延迟触摸设置为NO即可
for (id obj in cell.subviews){
if ([NSStringFromClass([obj class])isEqualToString:@&UITableViewCellScrollView&]){
UIScrollView *scroll = (UIScrollView *)
scroll.delaysContentTouches =NO;
16.UITableViewCell中的使用cell和cell.contentView的区别
解决方法:
一般我们向cell中添加子视图,有两种方式
[cell addSubview:]
[cell.contentView addSubview:]
区别在于进行cell编辑时,比如cell内容向左移或者右移时,第一种方式子视图不会移动,第二种可以,所以这种情况一般使用第二种方式。
还有在设置backgroundColor时,使用cell设置时左移或者右移颜色是不会变的,而用cell.contentCell设置时,移动后的空白会显示cell的默认颜色,这种情况视实际情况选择。
其实这两种方式在大多数情况是一样,不用纠结。
17.设置button的title属性
解决方法:
btn.frame = CGRectMake(x, y, width, height);
[btn setTitle: @&search& forState: UIControlStateNormal];
//设置按钮上的自体的大小
//[btn setFont: [UIFont systemFontSize: 14.0]];
//这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法
//应该使用
btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];
[btn seBackgroundColor: [UIColor blueColor]];
//最后将按钮加入到指定视图superView
[superView addSubview: btn];
btn = [[UIButton alloc] initWithFrame:CGRectMake(5,5,200,40)];
// 这样初始化的button,文字默认颜色是白色的,所有如果背景也是白色的话,是看不到文字的,
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentL//设置文字位置,现设为居左,默认的是居中
[btn setTitle:@&title& forState:UIControlStateNormal];// 添加文字
// 有些时候我们想让UIButton的title居左对齐,我们设置
btn.textLabel.textAlignment = UITextAlignmentLeft
// 是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentL
// 但是问题又出来,此时文字会紧贴到做边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
// 使文字距离做边框保持10个像素的距离。
18.项目中需要注意的地方:
解决方法:
项目更新的时候(Documents 和 Library 会被保留)
沙盒路径中三个文件(苹果官方推荐)
1.Documents:用户产生的数据,都是一些比较重要的数据,比较小。这里面的数据会自动同步到Ituns(文件
不能太大,如果太大,可能上架时会被拒绝);
2.Library:1:电影,音乐,图片,报刊,等等等 &2&Preferences文件夹(会被同步),配置文件。
3.tmp:每次应用重启动都会自动清空
4.app:(应用程序包) 隐藏的。
19.取消ScrollView的反弹效果
解决方法:
self.scrollView.bounces = NO;
20.UIView的坐标转换
解决方法:
// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)
// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)
// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)
// 将rect从view中转换到当前视图中,返回在当前视图中的rect
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)
例把UITableViewCell中的subview(btn)的frame转换到 controllerA中
// controllerA 中有一个UITableView, UITableView里有多行UITableVieCell,cell上放有一个button
// 在controllerA中实现:
CGRect rc = [cell convertRect:cell.btn.frame toView:self.view];
CGRect rc = [self.view convertRect:cell.btn.frame fromView:cell];
// 此rc为btn在controllerA中的rect
// 或当已知btn时:
CGRect rc = [btn.superview convertRect:btn.frame toView:self.view];
CGRect rc = [self.view convertRect:btn.frame fromView:btn.superview];
21.取得当前的点和之前的点,转换坐标系,判断当前点是否在视图内
解决方法:
CGPoint currentPoint = [touch locationInView:self];
CGPoint previousPoint = [touch previousLocationInView:self];
currentPoint = [self convertPoint:currentPoint toView:_myView];
_isInside = [_myView pointInside:currentPoint withEvent:event];
22.处理键盘弹出时,输入框被遮挡的问题:
解决方法:当键盘弹起时,系统会经过注册的观察者发出一个通知。
1.注册通知:
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(keyBoardWillChangeAction:) name:UIKeyboardWillChangeFrameNotification object:nil];
2.接受通知后调用方法:
- (void)keyBoardWillChangeAction:(NSNotification *)notiInfo {
NSLog(@&%@&,notiInfo.name);
NSLog(@&%@&,notiInfo.userInfo);
NSLog(@&%@&,notiInfo.object);
CGRect endUserInfoKey = [notiInfo.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat endUsrY = endUserInfoKey.origin.y;
CGFloat finalEndUser = endUsrY - self.view.frame.size.
self.view.transform = CGAffineTransformMakeTranslation(0, finalEndUser);
23.高效设置圆角
解决方法:
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。并且会造成离屏渲染,参考
对于这种情况,Stackoverflow上提供了几种解决方案。其中最简单优雅的方案,就是使用UIBezierPath。下面给出一段示例代码。
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120, 10, 80, 80)];
view2.backgroundColor = [UIColor redColor]; [self.view addSubview:view2];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view2.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(10, 10)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = view2.
maskLayer.path = maskPath.CGP
view2.layer.mask = maskL
byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight
指定了需要成为圆角的角。该参数是UIRectCorner类型的,可选的值有:
UIRectCornerTopLeftUIRectCornerTopRightUIRectCornerBottomLeftUIRectCornerBottomRightUIRectCornerAllCorners
从名字很容易看出来代表的意思,使用&|&来组合就好了。
24.DrawRect的注意事项:
解决方法:
-(void)drawRect:(CGRect)rect 中rect是bounds,绘制文字等操作时,用的是传进来的rect(bounds)而不是自己设定的带x,y坐标的rect
不能自己调用drawRect方法,而是用 [self setNeedsDisplay]; 让系统去调用。
25.多线程中更改刷新界面在主线程还是子线程?
解决方法:
主线程。在子线程中能更新的UI界面只是一个假象,实际上是子线程运行完毕,回到主线程继续执行UI更新的函数栈,由于时间很短,导致这个错觉。若子线程一直在执行,则主线程执行不了UI更新栈中的内容,UI界面也就不会更新。
26.Cell高度自适应:
解决方法:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// _indexPathCell为点击需要刷新的indexPath
if (_indexPathCell.row == indexPath.row && _indexPathCell) {
AYCommetModel *model = _mutableArrayOfCommentModel[indexPath.row];
NSString *str = model.
// 110为约束总长
float textLabelWidth = kScreenWidth - 110;
CGSize strSize = [str boundingRectWithSize:CGSizeMake(textLabelWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15.0]} context:nil].
//增益 Cell高度减去一行文字的高度
float offSet = 70 - 17.895;
//计算总高度
float sumOfHeight = strSize.height
NSLog(@&indePath.row = %ld , Size = %@,_sumOfHeight = %f&,indexPath.row,NSStringFromCGSize(strSize),sumOfHeight);
return sumOfH
return 70;
这种方法其实并不是最好的,具体可以参考博主的这篇博客
27.NSString转NSDictionary
解决方法:
NSData *infoData = [mutableString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *infoDic = [NSJSONSerialization JSONObjectWithData:infoData options:NSJSONReadingMutableContainers error:nil];
转其他也类似,先转成NSData再转成其他的类。
28.从服务器GET回来的数据NSData有时候中文乱码。
解决方法:
先看清GET回来的包头,看清编码方式,有些为GBK编码的需要进行转换。
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_);
NSMutableString *mutableString = [[NSMutableString alloc] initWithData:data encoding:enc];
29.想要获取由服务器发回来的http头
解决方法:
需要将NSURLResponse强转成NSHTTPURLResponse,比如status code 就调用 [httpUTLResponse statusCode]来获取。
30.UIButton设置Selected的问题:
解决方法:
当我们想创建一个自定义背景的按钮时,
UIButton* btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setBackgroundImage:(UIImage*) forState:UIControlStateNormal];
如果我们想要一个selected的按钮,
[btn setBackgroundImage:(UIImage*) forState:UIControlStateSelected];
但这样还是有个问题,当我们设置了btn.selected = YES后,再去点击按钮,
发现会变灰色,说明在这个状态下没设置我们的皮肤,
[btn setBackgroundImage:(UIImage*) forState:UIControlStateSelected | UIControlStateHighlighted];
31.BOOL和bool的区别
解决方法:
说明:Objective-C 中的BOOL实际上是一种对带符号的字符类型(signed char)的类型定义(typedef),它使用8位的存储空间。通过#define指令把YES定义为1,NO定义为0。
注意:Objective-C 并不会将BOOL作为仅能保存YES或NO值的真正布尔类型来处理。编译器仍将BOOL认作8位二进制数,YES 和 NO 值只是在习惯上的一种理解。
问题:如果不小心将一个大于1字节的整型值(比如short或int)赋给一个BOOL变量,那么只有低位字节会用作BOOL值。如果该低位字节刚好为0(比如8960,写成十六进制为0x2300),BOOL值将会被认作是0,即NO值。而对于bool类型,只有true和false的区别,即0为false,非0为true。
BOOL b1=8960; // 实际是 NO,因为8960换成十六进制为0x2300,BOOL 只有8位存储空间,取0x2300的低8位,00,所以是NO
bool b2=8960; //实际是true,因为bool类型,非0即为true。
32.iOS上 更改 状态栏(UIStatusBar)的颜色
解决方法:
1.plist设置statusBar
在plist里增加一行 UIStatusBarStyle(或者是&Status bar style&也可以),这里可以设置两个值,就是UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent
这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。
2.程序代码里设置statusBar
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
//相对于上面的接口,这个接口可以动画的改变statusBar的前景色
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
不仅如此,iOS还很贴心的在UIViewController也增加了几个接口,
目的是让状态栏根据当前显示的UIViewController来定制statusBar的前景部分。
- (UIStatusBarStyle)preferredStatusBarS
- (UIViewController *)childViewControllerForStatusBarS
- (void)setNeedsStatusBarAppearanceUpdate
- (UIStatusBarStyle)preferredStatusBarStyle:
在你自己的UIViewController里重写此方法,返回你需要的值(UIStatusBarStyleDefault 或者 UIStatusBarStyleLightContent);
这里如果你只是简单的return一个固定的值,那么该UIViewController显示的时候,程序就会马上调用该方法,来改变statusBar的前景部分;如果在该UIViewController已经在显示在当前,你可能还要在当前页面不时的更改statusBar的前景色,那么,你首先需要调用下面的setNeedsStatusBarAppearanceUpdate方法(这个方法会通知系统去调用当前UIViewController的preferredStatusBarStyle方法), 这个和UIView的setNeedsDisplay原理差不多(调用UIView对象的setNeedsDisplay方法后,系统会在下次页面刷新时,调用重绘该view,系统最快能1秒刷新60次页面,具体要看程序设置)。
- (UIViewController *)childViewControllerForStatusBarStyle:
这个接口也很重要,默认返回值为nil。
当我们调用setNeedsStatusBarAppearanceUpdate时,系统会调用application.window的rootViewController的preferredStatusBarStyle方法,我们的程序里一般都是用UINavigationController做root,如果是这种情况,那我们自己的UIViewController里的preferredStatusBarStyle根本不会被调用;
这种情况下childViewControllerForStatusBarStyle就派上用场了,
我们要子类化一个UINavigationController,在这个子类里面重写childViewControllerForStatusBarStyle方法,如下:
- (UIViewController *)childViewControllerForStatusBarStyle{
return self.topViewC
上面代码的意思就是说,不要调用我自己(就是UINavigationController)的preferredStatusBarStyle方法,而是去调用navigationController.topViewController的preferredStatusBarStyle方法,这样写的话,就能保证当前显示的UIViewController的preferredStatusBarStyle方法能影响statusBar的前景部分。
另外,有时我们的当前显示的UIViewController可能有多个childViewController,重写当前UIViewController的childViewControllerForStatusBarStyle方法,让childViewController的preferredStatusBarStyle生效(当前UIViewController的preferredStatusBarStyle就不会被调用了)。
简单来说,只要UIViewController重写的的childViewControllerForStatusBarStyle方法返回值不是nil,那么,UIViewController的preferredStatusBarStyle方法就不会被系统调用,系统会调用childViewControllerForStatusBarStyle方法返回的UIViewController的preferredStatusBarStyle方法。
- (void)setNeedsStatusBarAppearanceUpdate:
让系统去调用application.window的rootViewController的preferredStatusBarStyle方法,如果rootViewController的childViewControllerForStatusBarStyle返回值不为nil,则参考上面的讲解。
设置statusBar的【背景部分】
背景部分,简单来说,就是背景色;改变方法有两种:
系统提供的方法
navigationBar的setBarTintColor接口,用此接口可改变statusBar的背景色
注意:一旦你设置了navigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics接口,那么上面的setBarTintColor接口就不能改变statusBar的背景色,statusBar的背景色就会变成纯黑色。
创建一个UIView,
设置该UIView的frame.size 和statusBar大小一样,
设置该UIView的frame.origin 为{0,-20},
设置该UIView的背景色为你希望的statusBar的颜色,
在navigationBar上addSubView该UIView即可。
33.Xcode7HTTP协议改为了HTTPS协议,导致应用不正常
解决方法:
在iOS9 beta1中,苹果将原http协议改成了https协议,使用 TLS1.2 SSL请求数据。
在info.plist中添加
NSAppTransportSecurity
NSAllowsArbitraryLoads
34.如何让TableView滚动到顶端:
解决方法:
//两种滚动到顶部的方法都可以
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[_centerTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
[_centerTableView setContentOffset:(CGPoint){0,0} animated:YES];
解决方法:
只能在其中设置它的背景图。button和title在它对应的viewController中设置}

我要回帖

更多关于 让人尴尬的100道问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信