如何从字符串数组中填充文本字段并通过页面卷曲动画更改
我试图填充由/ n分隔的文本文件中的字符串数组" title="字符串数组">字符串数组。然后与字符串数组我想填充一个文本字段,我可以通过页面卷曲动画迭代到数组中的下一个项目。如何从字符串数组中填充文本字段并通过页面卷曲动画更改
textfile> stringarray> textfield>通过页面卷曲改变文本字段。
到目前为止,我已经想出了如何通过按钮做类似的事情,但我想改变下一次迭代的触发器到用户弹出到下一页。
什么是最好的方法来解决这个问题?我已经看过页面卷曲动画中的一些教程,并且我试图找到像应用程序一样的ibook,但似乎没有任何正确的组件正在寻找。
import UIKit class ViewController: UIViewController {
var x = 0
@IBOutlet var quoteOfTheDay: UILabel!
@IBAction func printarray(_ sender: Any) {
if x<arrayFromFile().count {
print(arrayFromFile()[x])
quoteOfTheDay.text = arrayFromFile()[x]
x+=1
}
else{
print("that's all folks")
quoteOfTheDay.text = "Happy New Year"
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func arrayFromFile() ->[String] {
if let path = Bundle.main.path(forResource: "CalendarQuotes", ofType: "txt"){
do{
let data = try String(contentsOfFile: path, encoding: .utf8)
return data.components(separatedBy: "\n")
} catch {
return [String]()
}
}
return [String]()
}
}
动画代码我设法获得动画工作,但无法弄清楚如何得到它通过我的数组触发X + = 1循环。现在,它的按键为基础,但ID喜欢它是基于手势的
- (IBAction)didTapHalfCurlUpBtn:(id)sender {
[UIView animateWithDuration:1.0
animations:^{
CATransition *animation = [CATransition
animation];
[animation setDuration:1.2];
[animation setTimingFunction:
[CAMediaTimingFunction functionWithName:@"default"]];
animation.fillMode = kCAFillModeForwards;
[animation setRemovedOnCompletion:NO];
animation.endProgress = 1;
animation.type = @"pageCurl";
[self.animatedUIView.layer addAnimation:animation
forKey:@"pageFlipAnimation"];
[tempUIView removeFromSuperview];
}
];
}
- (IBAction)didTapCurlDownBtn:(id)sender
{
[UIView animateWithDuration:1.0
animations:^{
CATransition *animation = [CATransition
animation];
[animation setDuration:1.2];
[animation setTimingFunction
[CAMediaTimingFunction functionWithName:@"default"]];
animation.fillMode = kCAFillModeForwards;
[animation setRemovedOnCompletion:NO];
animation.startProgress = 0.35;
animation.type = @"pageUnCurl";
[self.animatedUIView.layer addAnimation:animation
forKey:@"pageUnCurlAnimation"];
[tempUIView removeFromSuperview];
}
];
回答:
使用String
功能components(separatedBy:)
为“\ n”的参数来打破你的字符串转换成字符串数组。
然后我会建议使用页面视图控制器(UIPageViewController
)设置一系列使用页面卷曲转换进行管理的页面。这是页面视图控制器的本地功能。创建和管理页面视图控制器的开销相当大,但它可能比设置自己的管理视图阵列和处理平移手势以在它们之间转换的方案要少。
您应该可以在线找到有关UIPageViewController
的Swift教程。我最后一次使用Objective-C,但并不那么困难。
以上是 如何从字符串数组中填充文本字段并通过页面卷曲动画更改 的全部内容, 来源链接: utcz.com/qa/261847.html