Ios 在scrollview问题中更改页面
我目前正在尝试添加一个按钮,以便可以在UIScrollView中转到其他页面,但我不断收到错误。基本上,我创建的自定义幻灯片占scrollview屏幕底部的三分之一左右 [App.ViewController aButton:]:无法识别的选择器已发送到实例 0x7fe464c131c0 2017-07-19 22:47:48.791应用程序[10680:546634]*** 由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因:”-[App.ViewController aButton:]: 已将无法识别的选择器发送到实例0x7fe464c131c0' 到目前为止,我已经在这里读了一些帖子,并尝试过 pagecontrol.currentpage=0 及 mainScrollView.contentOffset=CGPoint(x: mainScrollView.frame.size.width*1,y:0)Ios 在scrollview问题中更改页面,ios,swift,xcode,Ios,Swift,Xcode,我目前正在尝试添加一个按钮,以便可以在UIScrollView中转到其他页面,但我不断收到错误。基本上,我创建的自定义幻灯片占scrollview屏幕底部的三分之一左右 [App.ViewController aButton:]:无法识别的选择器已发送到实例 0x7fe464c131c0 2017-07-19 22:47:48.791应用程序[10680:546634]*** 由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因:”-[App.ViewCo
导入UIKit
进口AVF基金会
扩展UITextView:UITextViewDelegate{}
var audioPlayer=AVAudioPlayer()
var-switchison=false;
变量:[Int]=[]
var textArray:[字符串]=[]
类ViewController:UIViewController、UIScrollViewDelegate{
@ibvar myTextView:UITextView!
@IBVAR弱页面控制:UIPageControl!
@iBCrollView:UIScrollView!
@iAction func oneTap(\发送方:UISwitch){
如果(sender.isOn==true)
{
switchison=true;
}
其他的
{
switchison=false;
}
}
重写func viewDidLoad(){
super.viewDidLoad()
mainScrollView.delegate=self
让幻灯片:[幻灯片]=创建幻灯片()
设置幻灯片滚动视图(幻灯片:幻灯片)
pageControl.numberOfPages=slides.count
pageControl.currentPage=0;
view.bringSubview(toFront:pageControl)
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
}
func createSlides()->[幻灯片]
{
让homeSlide=Bundle.main.loadNibNamed(“幻灯片”,所有者:self,
选项:无)?。第一个为!幻灯片
让aSlide=Bundle.main.loadNibNamed(“SlideA”,所有者:self,
选项:无)?。第一个为!幻灯片
让bSlide=Bundle.main.loadNibNamed(“SlideB”,所有者:self,
选项:无)?。第一个为!幻灯片
让cSlide=Bundle.main.loadNibNamed(“SlideC”,所有者:self,
选项:无)?。第一个为!幻灯片
让dSlide=Bundle.main.loadNibNamed(“SlideD”,所有者:self,
选项:无)?。第一个为!幻灯片
让eSlide=Bundle.main.loadNibNamed(“SlideE”,所有者:self,
选项:无)?。第一个为!幻灯片
让fSlide=Bundle.main.loadNibNamed(“SlideF”,所有者:self,
选项:无)?。第一个为!幻灯片
让gSlide=Bundle.main.loadNibNamed(“SlideG”,所有者:self,
选项:无)?。第一个为!幻灯片
让hSlide=Bundle.main.loadNibNamed(“SlideH”,所有者:self,
选项:无)?。第一个为!幻灯片
让iSlide=Bundle.main.loadNibNamed(“SlideI”,所有者:self,
选项:无)?。第一个为!幻灯片
让jSlide=Bundle.main.loadNibNamed(“SlideJ”,所有者:self,
选项:无)?。第一个为!幻灯片
让kSlide=Bundle.main.loadNibNamed(“SlideK”,所有者:self,
选项:无)?。第一个为!幻灯片
让lSlide=Bundle.main.loadNibNamed(“SlideL”,所有者:self,
选项:无)?。第一个为!幻灯片
让mSlide=Bundle.main.loadNibNamed(“SlideM”,所有者:self,
选项:无)?。第一个为!幻灯片
让nSlide=Bundle.main.loadNibNamed(“SlideN”,所有者:self,
选项:无)?。第一个为!幻灯片
让oSlide=Bundle.main.loadNibNamed(“SlideO”,所有者:self,
选项:无)?。第一个为!幻灯片
让pSlide=Bundle.main.loadNibNamed(“SlideP”,所有者:self,
选项:无)?。第一个为!幻灯片
让qSlide=Bundle.main.loadNibNamed(“SlideQ”,所有者:self,
选项:无)?。第一个为!幻灯片
让rSlide=Bundle.main.loadNibNamed(“SlideR”,所有者:self,
选项:无)?。第一个为!幻灯片
让sSlide=Bundle.main.loadNibNamed(“幻灯片”,所有者:self,
选项:无)?。第一个为!幻灯片
让tSlide=Bundle.main.loadNibNamed(“SlideT”,所有者:self,
选项:无)?。第一个为!幻灯片
让uSlide=Bundle.main.loadNibNamed(“SlideU”,所有者:self,
选项:无)?。第一个为!幻灯片
让vSlide=Bundle.main.loadNibNamed(“SlideV”,所有者:self,
选项:无)?。第一个为!幻灯片
让wSlide=Bundle.main.loadNibNamed(“SlideW”,所有者:self,
选项:无)?。第一个为!幻灯片
让xSlide=Bundle.main.loadNibNamed(“SlideX”,所有者:self,
选项:无)?。第一个为!幻灯片
让ySlide=Bundle.main.loadNibNamed(“SlideY”,所有者:self,
选项:无)?。第一个为!幻灯片
让zSlide=Bundle.main.loadNibNamed(“SlideZ”,所有者:self,
选项:无)?。第一个为!幻灯片
返回[homeSlide,aSlide,bSlide,cSlide,dSlide,eSlide,
fSlide,gSlide,hSlide,iSlide,jSlide,kSlide,lSlide,mSlide,
nSlide、oSlide、pSlide、qSlide、rSlide、sSlide、tSlide、uSlide、,
vSlide,wSlide,xSlide,ySlide,zSlide,]
}
func设置幻灯片滚动视图(幻灯片:[幻灯片])
{
mainScrollView.frame=CGRect(x:0,y:view.frame.height/1.5,
宽度:view.frame.width,高度:view.frame.height)
mainScrollView.contentSize=CGSize(宽度:view.frame.width*
CGFloat(slides.count),高度:view.frame.height)
mainScrollView.isPaginEnabled=true
对于0中的i..import UIKit
import AVFoundation
extension UITextView: UITextViewDelegate{}
var audioPlayer = AVAudioPlayer()
var switchison = false;
var appArray: [Int] = []
var textArray: [String] = []
class ViewController: UIViewController,UIScrollViewDelegate {
@IBOutlet weak var myTextView: UITextView!
@IBOutlet weak var pageControl: UIPageControl!
@IBOutlet weak var mainScrollView: UIScrollView!
@IBAction func oneTap(_ sender: UISwitch) {
if (sender.isOn == true)
{
switchison = true;
}
else
{
switchison = false;
}
}
override func viewDidLoad() {
super.viewDidLoad()
mainScrollView.delegate = self
let slides:[Slide] = createSlides()
setupSlideScrollView(slides: slides)
pageControl.numberOfPages = slides.count
pageControl.currentPage = 0;
view.bringSubview(toFront: pageControl)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func createSlides() -> [Slide]
{
let homeSlide = Bundle.main.loadNibNamed("Slide", owner: self,
options: nil)?.first as! Slide
let aSlide = Bundle.main.loadNibNamed("SlideA", owner: self,
options: nil)?.first as! Slide
let bSlide = Bundle.main.loadNibNamed("SlideB", owner: self,
options: nil)?.first as! Slide
let cSlide = Bundle.main.loadNibNamed("SlideC", owner: self,
options: nil)?.first as! Slide
let dSlide = Bundle.main.loadNibNamed("SlideD", owner: self,
options: nil)?.first as! Slide
let eSlide = Bundle.main.loadNibNamed("SlideE", owner: self,
options: nil)?.first as! Slide
let fSlide = Bundle.main.loadNibNamed("SlideF", owner: self,
options: nil)?.first as! Slide
let gSlide = Bundle.main.loadNibNamed("SlideG", owner: self,
options: nil)?.first as! Slide
let hSlide = Bundle.main.loadNibNamed("SlideH", owner: self,
options: nil)?.first as! Slide
let iSlide = Bundle.main.loadNibNamed("SlideI", owner: self,
options: nil)?.first as! Slide
let jSlide = Bundle.main.loadNibNamed("SlideJ", owner: self,
options: nil)?.first as! Slide
let kSlide = Bundle.main.loadNibNamed("SlideK", owner: self,
options: nil)?.first as! Slide
let lSlide = Bundle.main.loadNibNamed("SlideL", owner: self,
options: nil)?.first as! Slide
let mSlide = Bundle.main.loadNibNamed("SlideM", owner: self,
options: nil)?.first as! Slide
let nSlide = Bundle.main.loadNibNamed("SlideN", owner: self,
options: nil)?.first as! Slide
let oSlide = Bundle.main.loadNibNamed("SlideO", owner: self,
options: nil)?.first as! Slide
let pSlide = Bundle.main.loadNibNamed("SlideP", owner: self,
options: nil)?.first as! Slide
let qSlide = Bundle.main.loadNibNamed("SlideQ", owner: self,
options: nil)?.first as! Slide
let rSlide = Bundle.main.loadNibNamed("SlideR", owner: self,
options: nil)?.first as! Slide
let sSlide = Bundle.main.loadNibNamed("SlideS", owner: self,
options: nil)?.first as! Slide
let tSlide = Bundle.main.loadNibNamed("SlideT", owner: self,
options: nil)?.first as! Slide
let uSlide = Bundle.main.loadNibNamed("SlideU", owner: self,
options: nil)?.first as! Slide
let vSlide = Bundle.main.loadNibNamed("SlideV", owner: self,
options: nil)?.first as! Slide
let wSlide = Bundle.main.loadNibNamed("SlideW", owner: self,
options: nil)?.first as! Slide
let xSlide = Bundle.main.loadNibNamed("SlideX", owner: self,
options: nil)?.first as! Slide
let ySlide = Bundle.main.loadNibNamed("SlideY", owner: self,
options: nil)?.first as! Slide
let zSlide = Bundle.main.loadNibNamed("SlideZ", owner: self,
options: nil)?.first as! Slide
return [homeSlide, aSlide, bSlide, cSlide, dSlide, eSlide,
fSlide, gSlide, hSlide, iSlide, jSlide, kSlide, lSlide, mSlide,
nSlide, oSlide, pSlide, qSlide, rSlide, sSlide, tSlide, uSlide,
vSlide, wSlide, xSlide, ySlide, zSlide,]
}
func setupSlideScrollView(slides:[Slide])
{
mainScrollView.frame = CGRect(x: 0, y: view.frame.height/1.5,
width: view.frame.width, height: view.frame.height)
mainScrollView.contentSize = CGSize(width: view.frame.width *
CGFloat(slides.count), height: view.frame.height)
mainScrollView.isPagingEnabled = true
for i in 0 ..< slides.count
{
slides[i].frame = CGRect(x: view.frame.width * CGFloat(i),
y: 0, width: view.frame.width, height: view.frame.height)
mainScrollView.addSubview(slides[i])
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let pageIndex =
round(scrollView.contentOffset.x/view.frame.width)
pageControl.currentPage = Int(pageIndex)
}
@IBAction func refreshButton(_ sender: Any) {
myTextView.text = ""
for words in textArray
{
myTextView.textStorage.append(NSAttributedString(string:
words))
}
}
@IBAction func aAlphabetButton(_ sender: Any) {
//need code here
}
}