【iOS】仿写 —— 计算器

在计算器的仿写中,本人首次实际使用MVC构架和Mansory自动布局。 安装Mansory 首先安装cocoapods,然后在终端找到项目文件夹,执行 pod init 随后修改文件,将内容改为: platform :ios, '12.0' target '计算器77' do p

作者 TommyWu
封面圖片: 【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】仿写 —— 计算器