iOS 图标伪装上架被拒 ios伪装上架软件有哪些 |
您所在的位置:网站首页 › 伪装软件图标 › iOS 图标伪装上架被拒 ios伪装上架软件有哪些 |
iOS教程:如何仿一款“账本”上架app(一) 1. 打开xcode,新建项目:new->project->single view application 2. 创建一个xib:file->new->cocoa class 勾选create xib选项。(注:在我的项目中,名字命名没太仔细,我创建的是一个继承uiview的类,名字被我命名成了viewwindowcontroller,希望注意下) 3. 在xib中,拖入控件,如图所示 这是一个主界面,点击账号按钮时,会像qq的左侧测滑栏一样的效果。 4. 自定义表视图中的cell,同样使用xib实现。 5. 下面,我们使用代码,完成表视图的操作。 其中包括textview.delegate以及textview.datasource; (注:textview中显示的是最近的账单款项) 一开始测试时,没有接入数据库,我的数据存在plist中,它的结构是这样的 注: self.tableview.dataSource=self; self.tableview.delegate=self; 这两句代码一定要加进viewdidload,否则下面实现的方法全部没有用 只存了一个金钱。后面接入了数据库,没有进行优化,直接创建了一个结构相同的dictionary,里面存放了账单的具体花钱项目。一一对应,然后读取。下面直接上代码。 //获取plist文件 /* NSBundle *bundle=[NSBundle mainBundle]; NSString *plistPath=[bundle pathForResource:@"Data" ofType:@"plist"]; self.listDict=[[NSDictionary alloc]initWithContentsOfFile:plistPath]; */ /*添加数组的代码 NSArray *xjc=[NSArray arrayWithObjects:@"label",@"label2",nil ]; NSMutableDictionary *xujunchao=[[NSMutableDictionary alloc]init]; [xujunchao setObject:xjc forKey:@"hai"]; NSLog(@"%@",xujunchao);
*/ //NSString *nime=_listDict[@"hello"][@"label"]; /*self.title1=[[[NSDictionary alloc]initWithContentsOfFile:plistPath] allKeys];
NSLog(@"%@",self.title1); */
具体需要实现的方法有如下方法: //delegate设置行宽 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath //下面实现tableview的数据源协议 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath -(NSInteger)numberOfSectionsInTableView:(UITableView -(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath 下面重点说说我遇到了问题:我们要实现一个功能:我们点击表视图中的其中一行,然后显示我们所点的那行的具体信息。因为我们实现的账本带有分节,所以一开始不知道从何下手。 查阅文档: Parameters tableView A table-view object informing the delegate about the new row selection. indexPath An index path locating the new selected row in tableView.
但是我还是无从下手,因为我只知道使用row的,但是这里有section,查阅NSIndexPath的结构之后, Parameters row An index number identifying a row in a UITableViewsection. section An index number identifying a section in a UITableView 你就可以发现,它也有section的属性,所以获取当前触摸的section,即是我们所需要的section。 那么又有一个问题了。Row是从0开始,到多少呢?是一个section从新计数,还是不单独计数呢? 通过调试,然后nslog()输出当前的row,发现是每个section都重新从0开始计算的——row。 所以代码就简单了。 通过获得的section和row,在自己创建的nsdictionary中,一个代表了key,一个代表了相应的key对应的value(一个数组)中的数组下标。 既然获取的数据了,因为这里直接是这种情况:A跳转B,所以直接属性传值。下面上代码。 注:需要跳转的界面我是直接在storyboard中创建的,所以需要跳转到storyboard中的一个界面。 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath { UIStoryboard *storyboard=self.storyboard;//获取当前storyboard NSInteger row= [indexPath row]; //获取触摸的行数 NSIntegersection=[indexPath section];//获取出没的节 DetailViewController*detail1; //目标视图实例化 instantiateViewControllerWithIdentifier:@"detail"];//将目标视图与我们需要的视图绑定,使用这行代码,其中@“detail”是identifier,在storyboard中设置 NSString*time1=self.title1[section];//下面是获取传值数据 NSString*monye=[[self.listDict1objectForKey:[self.title1objectAtIndex:section]]objectAtIndex:row]; //NSLog(@"%@",self.listDict[self.title1[section]][row]); self presentViewController:detail1animated:YEScompletion:Nil];//视图跳转 label.text=self.listDict[self.title1[section]][row];//视图中相关的值的赋值 time.text=time1; money.text=monye; } 注:最后三行代码一定要在presentViewController:之后,不然会出现赋值失败的情况 此外,因为我们的这个页面是在xib中,所以需要加载到storyboard中的view中,代码如下。 NSArray *views = [[NSBundlemainBundle]loadNibNamed:@"mainwindow"owner:selfoptions:nil]; _mainview = views[0]; self.viewaddSubview:_mainview];demo下载地址:http://www.fishxu.com/wp-content/uploads/2016/05/%E8%AE%B0%E5%B8%90%E6%9C%AC.zip |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |