빠른 프로젝트에서 iCarousel을 사용하는 것을 좋아하지만 극복 할 수없는 한 가지가 있습니다. 프로젝트의 뷰 레이아웃에 비주얼 언어를 사용하고 싶지만 iCarousel의 시각적 형식을 사용할 때마다 작동하지 않습니다.Swift에서 iCarousel과 함께 시각적 형식 언어 사용
이 문제는 TopMenuCarousel.translatesAutoresizingMaskIntoConstraints=false
특성으로 나타났습니다.
이 속성을 비활성화 할 때마다 시각 형식 제약 조건이 iCarousel에 대해 비활성화되고 언제든지 활성화 할 때 제약 조건이 완벽하게 작동하지만 iCarousel은 항상 스크롤하고 계속 머물러야합니다.
현재 코드 : 당신이 당신의 iCarousel 객체에 어떤 높이를 설정하지 않는 것 같은
#import UIKit
import iCarousel
class Step2_HomePage: UIViewController,iCarouselDelegate,iCarouselDataSource {
let TopMenuCarouselCount = 5
var TopMenuCarousel = iCarousel()
override func viewDidLoad() {
super.viewDidLoad()
print("Step2HomePage icinde")
TopMenuCarousel = iCarousel(frame: CGRect())
view.addSubview(TopMenuCarousel)
// TopMenuCarousel.clipsToBounds = true
TopMenuCarousel.type = .Linear
TopMenuCarousel.dataSource = self
TopMenuCarousel.delegate = self
let views = [ "TopMenuCarousel": TopMenuCarousel ]
// 2
var allConstraints = [NSLayoutConstraint]()
let TopMenuCarouselTop = NSLayoutConstraint.constraintsWithVisualFormat(
"V:|-100-[TopMenuCarousel]",
options: [],
metrics: nil,
views: views)
allConstraints += TopMenuCarouselTop
let TopMenuCarouselHorizontal = NSLayoutConstraint.constraintsWithVisualFormat(
"H:|-0-[TopMenuCarousel]-0-|",
options: [],
metrics: nil,
views: views)
allConstraints += TopMenuCarouselHorizontal
TopMenuCarousel.translatesAutoresizingMaskIntoConstraints=false
NSLayoutConstraint.activateConstraints(allConstraints)
// Do any additional setup after loading the view, typically from a nib.
}
func numberOfItemsInCarousel(carousel: iCarousel) -> Int {
print("carousel number")
return TopMenuCarouselCount
}
func carousel(carousel: iCarousel, viewForItemAtIndex index: Int, reusingView view: UIView?) -> UIView {
print("carousel view icinde")
let tempView = UIView(frame: CGRect(x: 0, y: 0 , width: 20, height: 20))
tempView.backgroundColor = UIColor.blueColor()
return tempView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
#
안녕 모두, 이 Unfortuntely가 :( 당신이 제안 내가 한 하지만,이 시간을 작동하지 않았다는 iCarousel보기 constaint에 선언 수직 높이를하지 않았다. 는보기는 가장 왼쪽에 등장 . 우리의 모든 "수직"조정하여 화면의 모서리까지 어떤 이유가있을 수 있습니다 내가 삭제 방법, 다음 행으로? 'TopMenuCarousel.translatesAutoresizingMaskIntoConstraints = FALSE '내가 당신에게 전체를 제공하는 내 대답을 편집 –
예 ... 추가 된 제약 조건이 작동하려면'TopMenuCarousel.translatesAutoresizingMaskIntoConstraints' *가 false로 설정되어야합니다. – DonMag