Xcode 4.2 iOS程序如何给按钮等添加点击后的代码

Xcode 4.2 iOS程序如何给按钮等添加点击后的代码,第1张

不知道你有多新手,添加按钮点击的方法可以如下

-(IBAction)clickButton:(UIButton )sender

{

}

我宁可不要你的分,也想提醒你一下。你不应痛恨苹果的证书收费,中国这种只愿意用免费的消费习惯也是他们所痛恨的吧。收费提高门槛对于开发者也有好处。

老版本的xcode有打包ipa的方法,但现在42+版本的貌似没有见到。

如果你是初学,暂时可以不考虑进行真机调试。如果就是想生成一个ipa装进你的越狱机得瑟下,考虑将你的代码给有开发者ID的朋友帮你生成下。

给这个button绑定方法,自己写一个IBACTION的方法,连接上这个按钮即可,

- (IBAction)buttonClick:(UIButton){

/ 你的代码 /

}

在XIB界面右键点这个button,将touch up inside一项与你写的方法连起来,当你点击这个按钮的时候,就能触发buttonClick了;

1打开xcode引导新建一个Project,我这边选这个模板

然后填写一些项目的基本命名和属性

第一个项目名,第二项类似于android中得包名,貌似是app唯一标识。

第四项,类前缀,默认是没有,写上后模板生成得几个类前默认带个这个前缀。

说下最后三个复选框。

第一个就是我们说的新特性之一,用storyboards管理布局文件。

第二个arc机制

第三个自动生成一个测试用例。

这次我全不选,不过我学的时候选了ARC,完全不用释放内存。这回是听了那几个朋友的建议,初学者要给自己较好的编码意识。

2创建完后我们来大致看下目录结构分析,然后应用是如何启动的

一般我们在看一个整体应用时,我们都会去了解这个应用到底是怎么起来的(Android比如简单的就是一个入口activity。当然在往前点可能说是Applicaton)

ios中,则是在用户点击应用后,会进入这个main函数。然后我们看了下这个函数唯一能让我们关联得就是NonoAppDelegate这个类

(我这边比较俗,既看一个应用启动流程时,我保证代码能把我整个应用窜起来,不考虑后台到底怎么怎么进程,loop啊,队列什么的,目前对我们来说太深奥了)。

好了,这个main之后能跳到我们的代理类了。

我们看下代理类中内容

[cpp] view plain copy

//

// NonoAppDelegateh

// TestOne

// Created by Nono on 12-4-25

// Copyright (c) 2012年 NonoWithLilith All rights reserved

//

#import <UIKit/UIKith>

@class NonoViewController;

@interface NonoAppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow window;

@property (strong, nonatomic) NonoViewController viewController;

@end

以上这是头文件。

[cpp] view plain copy

@synthesize window = _window;

@synthesize viewController = _viewController;

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

{

selfwindow = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

// Override point for customization after application launch

selfviewController = [[[NonoViewController alloc] initWithNibName:@"NonoViewController" bundle:nil] autorelease];

selfwindowrootViewController = selfviewController;

[selfwindow makeKeyAndVisible];

return YES;

}

实现文件我们就看部分。

该实现方法是应用启动完后,加载一个窗口,然后在窗口上添加各种View。

这边说个小注意点。

在main函数时,我们会看到两种书写:

第一种:

[cpp] view plain copy

int main(int argc, char argv[])

{

@autoreleasepool {

return UIApplicationMain(argc, argv, nil, nil);

}

}

第二种:

[cpp] view plain copy

int main(int argc, char argv[])

{

@autoreleasepool {

return UIApplicationMain(argc, argv, nil, NSStringFromClass([NonoAppDelegate class]));

}

}

我们可以看到UIApplicationMain方法参数不一样。

对于这个,这哥们得博文写的比较明了了:《Main方法得讨论》

>

没明白,这个是用在什么地方的 是[短信、邮件、通讯录]这一方面的?点击button后会触发一个动作,在接收这个动作的方法里按照你的逻辑处理就可以了 。比如-(IBAction)click{ //处理你的逻辑 //1 显示本地路径 //2 根据路径进行判断加载什么}

用block

- (IBAction)ClickAction:(id)sender {

selfbtnBlock(sender);

}

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

{

cellbtnBlock = ^(UIButton btn)

{

这里可以取到tag =indexpath

};

在自定义UITableViewCell中创建了一个按钮。

想在点击该按钮时知道该按钮所在的cell在TableView中的行数。就是cell的 indexPathrow

两种方法都很好。

-(IBAction):(id)sender

{

NSLog(@"MyRow:%d",[selftable indexPathForCell:((TableViewCell)[[sender superview]superview])]row); //这个方便一点点,不用设置tag。

NSLog(@"MyRow:%d",((TableViewCell)[[sender superview]superview])tag);

//这个需要加载cell时设置tag不过也很方便。

}

-(UITableViewCell )tableView:(UITableView )tableView

cellForRowAtIndexPath:(NSIndexPath )indexPath

{

//删除cellcontentView中所有内容,避免以下建立新的重复

int i = [[cellcontentView subviews] count] - 1;

for(;i >= 0 ; i--)

{

[[[cellcontentView subviews] objectAtIndex:i] removeFromSuperview];

}

//添加button

UIButton but = [UIButton buttonWithType:UIButtonTypeCustom];

[but setBackgroundImage:[UIImage imageNamed:@"deletepng"] forState:UIControlStateNormal];

[but setFrame:CGRectMake(280, 10, 30, 30)];

[but setAlpha:08];

[but addTarget:self action:@selector(del:) forControlEvents:UIControlEventTouchUpInside];

[cellcontentView addSubview:but];

//设置Tag为cell 对应的indexPath row

for(id view in subviews)

{

if([view isKindOfClass:[UIButton class]])

{

[view setTag:[indexPath row]];

//[cellcontentView bringSubviewToFront:view];

}

}

}

//Button事件

-(void)del:(id)sender

{

for(UITableViewCell cell in visiblecells)

{

if(celltag == buttontag)

{

//buttontag就是对应的[indexPathrow

}

[squel[i][j] addTarget:self action:@selector(myButtonPressed:) forControlEvents:UIControlEventTouchUpInside];添加按钮点击的方法收写调用的方法

-(IBAction)myButtonPressed:(id)sender{

//your code

}

你想要传递什么参数都可以放在button里边,调用方法中的形参(id)sender就是点击的button对象,比如你传递一个整形参数i,你就可以设置buttontag=i;然后在响应方法里边取tag就可以了,希望能帮到你

以上就是关于Xcode 4.2 iOS程序如何给按钮等添加点击后的代码全部的内容,包括:Xcode 4.2 iOS程序如何给按钮等添加点击后的代码、关于XCODE的".xib"档内的一个小问。、ios中 有ABC这三个viewController,A中有textField还有个button用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9319680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存