IOS AlterView的使用(IOS8.0以前使用)

#pragma mark - 代理方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 1.取得被点击这行对应的模型
    MJHero *hero = self.heros[indexPath.row];

    // 弹框
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"数据展示" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

    // 设置对话框的类型
    alert.alertViewStyle = UIAlertViewStylePlainTextInput;

    // 取得唯一的那个文本框,显示英雄的名称
    [alert textFieldAtIndex:0].text = hero.name;

    [alert show];

    // 绑定行号到alertView上
    alert.tag = indexPath.row;
}

#pragma mark - alertView的代理方法
/**
 *  点击了alertView上面的按钮就会调用这个方法
 *
 *  @param buttonIndex 按钮的索引,从0开始
 */
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) return;

    // 按钮的索引肯定不是0

    // 1.取得文本框最后的文字
    NSString *name = [alertView textFieldAtIndex:0].text;
//    int row = alertView.tag;
//    NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0];
//    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:path];
//    cell.textLabel.text = name;

    // 2.修改模型数据
    int row = alertView.tag;
    MJHero *hero = self.heros[row];
    hero.name = name;

    // 3.告诉tableView重新加载模型数据
    // reloadData : tableView会向数据源重新请求数据
    // 重新调用数据源的相应方法取得数据
    // 重新调用数据源的tableView:numberOfRowsInSection:获得行数
    // 重新调用数据源的tableView:cellForRowAtIndexPath:得知每一行显示怎样的cell
    // 全部刷新
//    [self.tableView reloadData];

    // 局部刷新
    NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:0];
    [self.tableView reloadRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationBottom];
}
时间: 2024-10-14 19:25:56

IOS AlterView的使用(IOS8.0以前使用)的相关文章

iOS开发-定位服务iOS8.0以上授权

if ([UIDevice currentDevice].systemVersion.doubleValue > 8.0) { [self.locMgr requestAlwaysAuthorization]; } else { [self.locMgr startUpdatingLocation]; } - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizati

解决iOS8.0以上系统下无法通过代码创建被删除过的同名相册 ( iOS 8 Photos framework: Create a albums with iOS8 )

问题描述: 在苹果的 iOS8.0以上, 当你创建完一个相册, 例如名为"Rd", 然后在相册中手动删除了这个"Rd"相册, 再次通过代码 #import <AssetsLibrary/ALAssetsLibrary.h> ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init]; [assetsLibrary addAssetsGroupAlbumWithName:@"Rd

IOS开发之IOS8.0最新UIAlertController

最近苹果更新的IOS8 对以前进行了很大的修改, 更新的API也让人捉急,据说iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.比如全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量.但是同时某些旧的UIKit控件也同样发生了许多变化,很多自定义在旧控件上的控件发生了诡异的BUG,其实UIAlertView.UIActionS

iPad iOS8.0升级和Xcode 6.0.1公布了,附Xcode 6.0.1下载地址

今天上午把iPad mini升级到了iOS 8.0,升级提示须要6.7G空间,无奈仅仅好把一些大的App删掉腾冲空间,然后開始升级,3小时后最终升级成功了. 下午试着把我们的App通过xcode 5 安装到升级到iOS8.0的iPad,结果不能识别设备了,于是到开发人员中心下载最新的xcode6.0.1, 针对OS X 10.9.4系统的.注意: Xcode 6.1 beta 2 for OS X Yosemite 是针对最新的Yosemite系统的,依据我们同事的測试,Yosemite系统如今

IOS8.0(Objective-C) 手势锁屏App

IOS8.0(Objective-C) 手势锁屏App IOS 手势锁屏实现逻辑分析: 1.通过循环在页面中添加透明背景白色边框的按钮(默认为九个)并设置 tag 值,以便与原始密码核对 2.扑捉手势,主要用到touchesBegan.touchesMoved 和 touchesEnded 3.将手势经过的按钮划线链接起来,主要用到  CGContextRef 2D绘画对象 如下代码所示为 IOS 手势锁屏全部 App源码,仅供学习: ViewController.h #import <UIKi

适配ios8.0/7.0定位

现象 假如你用做ios8之前的定位去在ios8.0的机子上跑的话,你会发现 诶?怎么定位功能不能用了,右上角那个定位的小图标不出来.这时你应该去了设置里面看看隐私--定位,看到没有开启,然后改成始终,然后程序重新跑过,然后你又发现还是不能用...于是你又去设置那里看看,靠 发现改成的始终怎么给取消了..(其实这就是我..) 原因 在以前的IOS版本中当开始使用定位服务时会自动弹出询问授权的对话框,而现在IOS8需要手动调用locationManager requestAlwaysAuthori

搜索栏UISearchBar和UISearchController(UISearchDisplayController在iOS8.0之后就不推荐使用)

iOS中UISearchDisplayController用于搜索,搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜 索栏现在默认自家的神马搜索,现在不管是社交,O2O还是在线教育等都会有一个搜索栏的实现,不过彼此实现效果是不一样的.iOS中的搜索栏实现起来相对 简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS 8.0上的实现貌似很少看到,可以运行,不过会看到searchDisplayController'

关于iphone6/5/4s 在iOS8.0系统下 只读@3x图片

做iphone6和plus适配时候发现一个问题,先来看图(一下讨论全部在真机下完成,非模拟器) 128*750图片是  [email protected] 1242*192图片是 [email protected] 之所以用圆方是为了变形能及时发现. 2x和3x图片区分是为了,看看6以下都是用的2x图片  而   plus用的是3x图片. 把这两张图片添加到images.xcassets中(直接拖进去): 好了. 按照我所掌握的资料,ip6以下是用的 @2x图片,ip6plus用的@3x,dep

iPad iOS8.0升级和Xcode 6.0.1发布了,附Xcode 6.0.1下载地址

今天上午把iPad mini升级到了iOS 8.0,升级提示需要6.7G空间,无奈只好把一些大的App删掉腾冲空间,然后开始升级,3小时后终于升级成功了. 下午试着把我们的App通过xcode 5 安装到升级到iOS8.0的iPad,结果不能识别设备了,于是到开发者中心下载最新的xcode6.0.1, 针对OS X 10.9.4系统的.注意: Xcode 6.1 beta 2 for OS X Yosemite 是针对最新的Yosemite系统的,根据我们同事的测试,Yosemite系统现在本身

iOS8.0之后没有注册通知的提醒解决办法

在iOS8.0之后如果没注册本地通知就会报出的提醒,如下图: 解决的办法是:在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法中注册通知: if ([[UIDevice currentDevice].systemVersion doubleValue]>=8.0) { UIUserNotificationSetting