340 字
2 分钟
【iOS】仿写 —— 计算器

在计算器的仿写中,本人首次实际使用MVC构架和Mansory自动布局。

安装Mansory#

首先安装cocoapods,然后在终端找到项目文件夹,执行 pod init

随后修改文件,将内容改为:

platform , ‘12.0’ target ‘计算器77’ do pod ‘LookinServer’, => [‘Debug’] pod ‘Masonry’ end

作者同时安装了Lookin方便调试,随后在终端执行: pod install。

如果下载有问题,请给终端挂一个梯子,因为下载源是国外的。

就此安装完成。

框架#

M:我的Model负责执行运算逻辑

V:我的View负责实现一个基本的计算器页面

C:负责联系主页面和Model,同时负责各种判断各种非法运算

这是我的另一篇博客,详细介绍了MVC:

https://blog.csdn.net/2402_86720949/article/details/151052260?fromshare=blogdetail&sharetype=blogdetail&sharerId=151052260&sharerefer=PC&sharesource=2402_86720949&sharefrom=from_link

页面:#

图片

我实现的页面如图。

我使用两层for循环,外层循环负责便历5行,内层循环负责遍历每一行的四个按钮,同时使用Masonry自动布局

if (i == 4) {
if (j == 0) {
make.left.equalTo(rowView);
make.width.equalTo(rowView).multipliedBy(0.5).offset(-btnSpacing/2);
} else {
make.left.equalTo(lastButton.mas_right).offset(btnSpacing);
make.width.equalTo(rowView).multipliedBy(0.25).offset(-btnSpacing*0.75);
}
} else {
if (lastButton) {
make.left.equalTo(lastButton.mas_right).offset(btnSpacing);
} else {
make.left.equalTo(rowView);
}
make.top.bottom.equalTo(rowView);
make.width.equalTo(@(btnHeight));
}

Controller:#

这部分属于重中之重,尤其在于各种非法输入的防止。

我分别设置了几个属性,来辅助进行判定

self.poin

原文发布于 CSDN:【iOS】仿写 —— 计算器

【iOS】仿写 —— 计算器
https://www.tommywutong.cn/posts/csdn-import/csdn-149743986-ios-/
作者
TommyWu
发布于
2025-09-28
许可协议
CC BY-NC-SA 4.0