UITableView单元格的属性,//显示数组中数据

对简单单元格的增删改,简单单元格增删改

效果图

 

 

图片 1

 

图片 2

 

图片 3

 

图片 4

 

 

 

 

图片 5

 

 

 

 

 

#import <UIKit/UIKit.h>

#import "RootTableViewController.h"

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;


@end

 

 

#import "AppDelegate.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window.rootViewController=[[UINavigationController alloc]initWithRootViewController:[[RootTableViewController alloc]initWithStyle:UITableViewStylePlain]];
    return YES;
}

 

 

#import <UIKit/UIKit.h>


@interface RootTableViewController : UITableViewController

@property(strong,nonatomic)  NSMutableArray * array;


@end

 

 

#import "RootTableViewController.h"
#import "ViewController.h"
@interface RootTableViewController ()<postValuedelegate>
{
    //记录选中行的索引值
    NSIndexPath * currentInfrxPath;
}
@end

@implementation RootTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //添加liftbarabutton

    self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addItem)];

    self.navigationItem.rightBarButtonItem = self.editButtonItem;

    self.array=[NSMutableArray array];

    [self.array addObject:@"zhangsan"];

    [self.array addObject:@"lisi"];

    [self.array addObject:@"wangwu"];

    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"reuseIdentifier"];


    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.

}

-(void)addItem
{
    UIAlertController *alertcontroller=[UIAlertController alertControllerWithTitle:@"确定要增加吗" message:@"输入姓名?" preferredStyle:(UIAlertControllerStyleAlert)];
    UIAlertAction * ok=[UIAlertAction actionWithTitle:@"增加" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        UITextField * textName= alertcontroller.textFields[0];


        [self.array addObject:textName.text];

        [self.tableView reloadData];

//        NSLog(@"真正的操作");
    }];

    [alertcontroller addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

        [email protected]"添加姓名";
    }];

    [alertcontroller addAction:ok];

    [self presentViewController:alertcontroller animated:YES completion:nil];

}

-(void)postvalue:(NSString *)username
{
    //为集合指定索引位置元素赋值
    self.array[currentInfrxPath.row]=username;
    NSLog(@"%@",username);
    //刷新数据
    [self.tableView reloadData];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return self.array.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuseIdentifier" forIndexPath:indexPath];

    cell.textLabel.text=self.array[indexPath.row];

    return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    currentInfrxPath=indexPath;
    ViewController *vc=[[ViewController alloc]init];

    vc.name=self.array[indexPath.row];
    vc.delegate=self;
    [self.navigationController pushViewController:vc animated:YES];
}


// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the specified item to be editable.
    return YES;
}



// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source

        [self.array removeObjectAtIndex:currentInfrxPath.row];
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    } else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
}



// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
    //1.找到指定位置集合元素
    NSString * name= self.array[fromIndexPath.row];
    //2.删除集合元素
    [self.array removeObject:name];
    //3插入集合
    [self.array  insertObject:name atIndex:toIndexPath.row];

    NSLog(@"%@",self.array);

}



// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the item to be re-orderable.
    return YES;
}


/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end

 

 

#import <UIKit/UIKit.h>

@protocol postValuedelegate <NSObject>

-(void)postvalue:(NSString *) username;

@end

@interface ViewController : UIViewController<UITextFieldDelegate>

@property(strong,nonatomic) NSString *name;

@property(strong,nonatomic) UITextField * textNmae;

@property(strong,nonatomic) id<postValuedelegate> delegate;

@end

 

 

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.view.backgroundColor=[UIColor greenColor];
    self.textNmae=[[UITextField alloc]initWithFrame:CGRectMake(100, 100, 150, 44)];

    self.textNmae.delegate=self;

    self.textNmae.borderStyle=1;

    self.textNmae.text=self.name;

    [self.view addSubview:self.textNmae];
}


-(BOOL)textFieldShouldReturn:(UITextField *)textField
{

    if (self.delegate) {
        [self.delegate postvalue:textField.text];
    }
    if ([textField isFirstResponder]) {
        [textField resignFirstResponder];
    }

    [self.navigationController popViewControllerAnimated:YES];

    return YES;
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

 

效果图
#import UIKit/UIKit.h#import “RootTableViewController.h”@interface
AppDelegate : UIResponder UIApplicationDelega…

点击单元格,弹出另外一个tableView选择页面,单元格tableview

 

 

单元格页面;

 

图片 6

点击单元格后的效果图:

图片 7

 

选择单元格后的效果图:

图片 8

.h

#import <UIKit/UIKit.h>

@interface RootViewController : UIViewController
<UITableViewDataSource,UITableViewDelegate>
{
    UIView * _huiView;
    UITableView * _btnTableView;
    UITableView * _tableView;

}
@end

 

.m

 

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    //初始化背景图
    [self initBackGroundView];
}
#pragma -mark -functions
-(void)initBackGroundView
{
    //大的tableView
    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,90, 320, self.view.bounds.size.height )];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    _tableView.backgroundColor=[UIColor whiteColor];
    [self.view addSubview:_tableView];


    //点击单元格时候的UIView
    _huiView = [[UIView alloc] initWithFrame:CGRectMake(-320, 90, 320, self.view.bounds.size.height)];
    _huiView.backgroundColor = [UIColor blueColor];
    _huiView.alpha=0.9;
    _huiView.layer.cornerRadius = 10;
    [self.view addSubview:_huiView];


    //三角形
    NSString *path = [[NSBundle mainBundle] pathForResource:@"shangwu_shaixuan_sanjiaoxing" ofType:@"png"];
    UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.frame = CGRectMake(150, 12, 20, 15);
    [_huiView addSubview:imageView];

    //红色的线
    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(10, 27, 300, 3)];
    view.backgroundColor = [UIColor redColor];
    [_huiView addSubview:view];


    //用于选择的tableView
    _btnTableView = [[UITableView alloc] initWithFrame:CGRectMake(10, 30,300,200) style:UITableViewStylePlain];
    _btnTableView.delegate = self;
    _btnTableView.dataSource = self;
    _btnTableView.layer.cornerRadius = 10;
    [_huiView addSubview:_btnTableView];

}
#pragma -mark -UITableViewDelegate
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView == _tableView){
        return 100;
    }
    return 50;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    if (tableView == _tableView){
        return 100;
    }
    return 5;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView == _btnTableView){
        static NSString * cellName = @"cellName";
        UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellName];
        if (cell == nil){
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
        }
        if (indexPath.row == 0){
            cell.textLabel.text = @"";
            return cell;

        }
        cell.textLabel.text = @"美食";
        cell.textLabel.textColor = [UIColor blackColor];
        return cell;

    }else {

        static NSString * cellName = @"cell";
        UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellName];
        if (cell == nil){
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellName];
        }
        if (indexPath.row == 0){
            cell.textLabel.text = @"";
            return cell;

        }
        cell.textLabel.text = @"锻炼";
        cell.textLabel.textColor = [UIColor blackColor];
        return cell;
        }
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"----didSelectRowAtIndexPath----");
    if (tableView==_tableView) {
        [UIView animateWithDuration:0.7 animations:^{
            _huiView.frame = CGRectMake(0, 45+45, 320, self.view.bounds.size.height);
        }];

    }else{
        [UIView animateWithDuration:0.7 animations:^{
            _huiView.frame = CGRectMake(-320, 45+45, 320, self.view.bounds.size.height);
        }];
    }

}

 

-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

【读书笔记】iOS-简单的数据驱动程序,读书笔记ios-

一,效果图。

 

图片 9

 

二,,工程文件如下图所示:

 

图片 10

 

三,DataModel.h

图片 11

#import <Foundation/Foundation.h>

 

@interface DataModel : NSObject

{

    NSArray *myData;

}

-(NSString *)getNameAtIndex:(int)index;

-(int)getRowCount;

 

@end

 

 

图片 12

 

 DataModel.m

图片 13

//数据库文件

#import “DataModel.h”

 

@implementation DataModel

 

-(id)init

{

    if (self=[super init]) {

        

        myData=[[NSArray
alloc]initWithObjects:@”first”,@”second”,@”three”,@”four”, nil];

     }

    return self;

}

//显示数组中数据

-(NSString *)getNameAtIndex:(int)index

{

    return (NSString *)[myData objectAtIndex:index];

}

//显示行数

-(int)getRowCount

{

    return (int)[myData count];

}

@end

 

图片 14

 

四,ViewController.h

图片 15

#import <UIKit/UIKit.h>

#import “DataModel.h”

 

@interface ViewController : UIViewController

<UITableViewDataSource,UITableViewDelegate>

{

    UITableView *myTableView;

    DataModel *model;

}

@end

 

图片 16

ViewController.m

图片 17

#import “ViewController.h”

 

@interface ViewController ()

@end

 

@implementation ViewController

 

– (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a
nib.

    //初始化数据

    [self initData];

    //初始化界面

    [self addBackgroundView];

}

#pragma -mark -functions

//初始化数据

-(void)initData

{

     model=[[DataModel alloc]init];

}

//初始化界面

-(void)addBackgroundView

{

    myTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 100,
320, 300)];

    myTableView.dataSource=self;

    myTableView.delegate=self;

    [self.view addSubview:myTableView];

 

}

#pragma -mark -UITableViewDelegate

-(NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section

{

    return [model getRowCount];

}

-(CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

    return 40;

}

-(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString
*[email protected]”Cell”;

    UITableViewCell *cell=[tableView
dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell==nil) {

        cell=[[UITableViewCell
alloc]initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];

    }

    cell.textLabel.text=[NSString stringWithFormat:@”%@”,[model
getNameAtIndex:(int)indexPath.row]];

    return cell;

    

}

– (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

@end

 

图片 18

参考资料:《iOS数据库应用高级编程(第2版)》

一,效果图。 二,,工程文件如下图所示: 三,DataModel.h #import
Foundation/Foundation.h @i…

IOS 绘制圆饼图 简单实现的代码有注释,ios

今天为大家带来IOS 绘图中圆饼的实现  

.h文件

#import <UIKit/UIKit.h>

 

@interface ZXCircle : UIView

 

@end

.m文件

#import “ZXCircle.h”

 

@implementation ZXCircle

-(void)drawRect:(CGRect)rect{

    CGFloat w = self.bounds.size.width;

    CGFloat h = self.bounds.size.height;

    

    //数据数组

    NSArray *array = @[@1,@2,@3,@4,@5,@6,@7,@8,@9,@10];

    //颜色数组

    NSArray *colorArray = @[[UIColor redColor], [UIColor
greenColor], [UIColor yellowColor],[UIColor cyanColor],[UIColor
blueColor],[UIColor lightGrayColor],[UIColor grayColor],[UIColor
darkGrayColor],[UIColor magentaColor],[UIColor orangeColor]];

   //下面这个循环是为了假如只有几种颜色 ,但是数据非常多的情况下
,循环使用颜色的算法

  //新建的颜色数组

    NSMutableArray * colorArr=[NSMutableArray new];

   //这个循环是 只显示颜色数组中前三个的颜色,%后面的数
是根据你的颜色数组中有多少颜色

    for (int i=0; i<array.count; i++) {

        [colorArr addObject:colorArray[i%10]];

    }

    CGContextRef ctx =UIGraphicsGetCurrentContext();

    

    //中心点

    CGPoint center = CGPointMake(w * 0.5, h * 0.5);

    //半径

    CGFloat radius = w * 0.3 – 5;

    

    //起点角度

    CGFloat startA = 0;

    //终点角度

    CGFloat endA =M_PI;

    //扫过角度范围

    CGFloat angle = 0;

    

    for (int i = 0; i < array.count; i ++) {

       
//这句话是为了画完其中一个之后第二个的起点就是第一个的终点,这里面M_PI代表的是180度
55这个数值是数据源的总和

        startA = endA;

        angle = [array[i] integerValue] / 55 * M_PI * 2;

        endA = startA + angle;

        

        //弧形路径

        //clockwise: 是否是按照时钟的方向旋转(是否顺时针)

        UIBezierPath *path = [UIBezierPath
bezierPathWithArcCenter:center radius:radius startAngle:startA
endAngle:endA clockwise:YES];

        //连接中心, 构成扇形

        [path addLineToPoint:center];

        

        //填充颜色

        [(UIColor *)colorArr[i] set];

        

        CGContextAddPath(ctx, path.CGPath);

        

        // 将上下文渲染到视图

        CGContextFillPath(ctx);

    }

}

@end

 效果图如下: 请大家鉴赏这个非常简单的圆饼图
,希望对你们以后的开发有所帮助!!谢谢!!

图片 19

绘制圆饼图 简单实现的代码有注释,ios
今天为大家带来IOS 绘图中圆饼的实现 .h文件 #import UIKit/UIKit.h
@interface ZXCircle : UIView @end .m文件…

在EXCEL中,怎点击单元格就会出现一个选项窗口

可以输入第一个字,列表只出现以这个字开头的供你选择,具体做法,请把问题作为内容、样表(请注意:要03版的,把现状和目标效果表示出来)作为附件发来看下
yqch13[email protected],做了给你
 

单元格页面; 点击单元格后的效果图: 选择单元格后的效果图: .h #import
UIK…

//创建功能按钮

Excel单击某个单元格就弹出一个框显示当前选中单元格的信息提示,是怎做到的?

看不到你的效果图
一般来说数据有效性的输入信息里设置一下就可以了
添加批注后也有提示信息
 

for(init i=1;i<20;I++){

-(CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath{

initWithStyle:根据峁格创建单元格对象

self.window.rootViewController=nav;

[_tableView setEditing:YES];

//数据视图

return 60;

returen cell;

//设置代理

-(void)viewDidLoad{

_isEdit=YES;

//UITableViewCellEditingStyleDelete 删除,默认为删除

本节学习内容:

//自动调整子视图的大小

cell=[[UITableViewCell
alloc]initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:strID];

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{

}

NSLog(@”选中单元格!%d,%d”,indexPath.section,indexPath.row);

-(void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

}

@interface AppDelegate()

UITableView单元格的属性

//可以显示编辑状态,当手指在单元格上移动时

//当数据的数据源发生变化时更新数据视图,从新加载数据

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章