You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C++在Xcode开发带按钮的iOS Hello World程序并脱离命令行?

实现步骤与示例代码

iOS原生UI框架(UIKit)基于Objective-C/Swift,无法直接用纯C编写界面,但可以通过**Objective-C**(后缀为.mm的文件)混编实现你的需求,以下是可直接运行的示例:

1. 初始化Xcode项目

  • 打开Xcode,新建「iOS > App」项目,语言选择Objective-C
  • 将自动生成的ViewController.m重命名为ViewController.mm,确认Xcode提示的引用更新

2. 替换代码实现功能

把ViewController.mm的内容替换为以下代码:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (nonatomic, strong) UIButton *helloButton;
@property (nonatomic, strong) UILabel *messageLabel;
@end

@implementation ViewController

// C++函数:处理点击后的逻辑
void showHelloWorld() {
    NSLog(@"hello world");
    // 确保UI操作在主线程执行
    dispatch_async(dispatch_get_main_queue(), ^{
        ViewController *vc = (ViewController *)[[UIApplication sharedApplication].keyWindow rootViewController];
        vc.messageLabel.text = @"hello world";
    });
}

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    
    // 创建大尺寸黑色按钮
    self.helloButton = [[UIButton alloc] initWithFrame:CGRectMake(50, 200, 300, 100)];
    [self.helloButton setBackgroundColor:[UIColor blackColor]];
    [self.helloButton setTitle:@"点击显示内容" forState:UIControlStateNormal];
    [self.helloButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [self.helloButton addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.helloButton];
    
    // 创建用于显示文本的标签
    self.messageLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 350, 300, 50)];
    self.messageLabel.textAlignment = NSTextAlignmentCenter;
    self.messageLabel.font = [UIFont systemFontOfSize:20];
    [self.view addSubview:self.messageLabel];
}

- (void)buttonTapped:(UIButton *)sender {
    // 调用C++逻辑函数
    showHelloWorld();
}

@end

3. 运行项目

选择任意iPhone模拟器(如iPhone 14),点击Xcode运行按钮,模拟器启动后点击黑色按钮,屏幕下方会显示「hello world」,同时Xcode控制台也会输出该内容。

学习资源推荐
  • Objective-C与UIKit入门系列:找专注于基础控件使用的视频,重点看「按钮事件绑定」「界面布局」「Objective-C++混编」相关内容,跟着实操能快速掌握iOS界面开发的核心流程
  • iOS原生UI实战小项目:搜索聚焦于按钮、标签等基础组件的短教程,通过完成多个小案例,逐步理解脱离命令行的GUI开发逻辑

内容的提问来源于stack exchange,提问作者McKay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:33:31