- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 ios swift 的新手,想通过图像更改 UIPageControl 点的大小。我在这里发现了同样的问题(UIPageControl custom class - found nil changing image to the dots)但似乎答案是错误的,仍然在页面控制 View subview (UIImageView)为零
由于我没有足够的声誉,所以必须在这里提问。
这是我如何将 ImageView 添加到 ScrollView
let imgOne = UIImageView(frame: CGRectMake(0, 0,scrollViewWidth, scrollViewHeight))
imgOne.image = UIImage(named: "1")
let imgTwo = UIImageView(frame: CGRectMake(scrollViewWidth, 0,scrollViewWidth, scrollViewHeight))
imgTwo.image = UIImage(named: "2")
let imgThree = UIImageView(frame: CGRectMake(scrollViewWidth*2, 0,scrollViewWidth, scrollViewHeight))
imgThree.image = UIImage(named: "3")
let imgFour = UIImageView(frame: CGRectMake(scrollViewWidth*3, 0,scrollViewWidth, scrollViewHeight))
imgFour.image = UIImage(named: "4")
self.scrollView.addSubview(imgOne)
self.scrollView.addSubview(imgTwo)
self.scrollView.addSubview(imgThree)
self.scrollView.addSubview(imgFour)
下面是问题的答案
class PageControl: UIPageControl {
var activeImage: UIImage!
var inactiveImage: UIImage!
override var currentPage: Int {
willSet {
self.updateDots()
}
}
convenience init(activeImage: UIImage, inactiveImage: UIImage) {
self.init()
self.activeImage = activeImage
self.inactiveImage = inactiveImage
self.pageIndicatorTintColor = UIColor.clearColor()
self.currentPageIndicatorTintColor = UIColor.clearColor()
}
func updateDots() {
for var i = 0; i < count(subviews); i++ {
var view: UIView = subviews[i] as! UIView
if count(view.subviews) == 0 {
self.addImageViewOnDotView(view, imageSize: activeImage.size)
}
var imageView: UIImageView = view.subviews.first as! UIImageView // nil
imageView.image = self.currentPage == i ? activeImage : inactiveImage
}
}
// MARK: - Private
func addImageViewOnDotView(view: UIView, imageSize: CGSize) {
var frame = view.frame
frame.origin = CGPointZero
frame.size = imageSize
var imageView = UIImageView(frame: frame)
imageView.contentMode = UIViewContentMode.Center
view.addSubview(imageView)
}
}
最佳答案
花了几天时间,我通过以下方式解决了这个问题......不知道解决方案怎么样,欢迎改进...有 2 个问题
1:在函数 updateDots 中,应该如下所示
func updateDots() {
for var i = 0; i < subviews.count; i++ {
var imageView: UIImageView? = nil
let view: UIView = subviews[i]
if (view.subviews.first is UIImageView) {
if (subviews.count == 0) {
addImageViewOnDotView(view, imageSize: activeImage.size)
}
imageView = (view.subviews.first as! UIImageView)
imageView!.image = self.currentPage == i ? activeImage : inactiveImage
}
if (imageView == nil) {
imageView = UIImageView(frame: CGRectMake(0.0, 0.0, view.frame.size.width, view.frame.size.height));
imageView!.image = self.currentPage == i ? activeImage : inactiveImage
view.addSubview(imageView!)
}
}
}
2:调用此函数时,应该在(didSet)滚动之后而不是在(willSet)之前
override var currentPage: Int {
didSet {
self.updateDots()
}
}
关于ios - UIPageControl View subview 中为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34450901/
我使用本教程使用 UIPageController 创建了一个应用程序:http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/
我一直在使用 UIPageController 在不同的 Controller 之间导航。现在我想在底部添加这些点,这样用户就可以看到他在哪个 Controller 上。这是通过 UIPageCont
我是 ios 编程的新手。我试图在 stackoverflow 上搜索另一个示例和更多问题,但这不是我的目标。我想在 UIPageControl 的索引 0 处设置一个类似于 iPhone 搜索主
任何人都知道如何创建垂直 UIPageControl?我有一个启用了分页的 UIScrollView,我想让 UIPageControl 坐在侧面并垂直显示而不是水平显示。 先感谢您... 最佳答案
我想要带有圆圈的页面控件如何执行此操作我现在使用页面控件,但它有点而不是圆圈 最佳答案 您必须创建自定义页面滚动。为此,您应该引用 this question 。希望你能明白。 还有一些有用的链接:
嘿伙计们,我正在使用带有 ScrollView 的 UIPagecontrol。它效果很好,但有一种情况是白色没有突出显示。它发生在我们从 ScrollView 转到另一个 View 然后返回并重新加
我想隐藏UIPageControl的栏,因为我想实现带有滑动手势功能的分页,所以我不需要显示点栏。如果我设置 hidden=YES ,将会保留一个 UIPageControl 大小的黑色 block
我无法在 iOS 14 中设置页面控制点的边框颜色。以下代码适用于 iOS < 14,但不适用于 iOS 14: for (int i = 0; i < [self.subViews count];
pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(153,356,38,36) ]; pageControl.userInte
我有一个 PageViewController我想更改 UIPageControl位置(从屏幕底部到顶部)。 那是我的代码: UIPageControl *pageControl = [UIPageC
我有一个 UIPageViewController,其中放置了一个 UIPageControl。当我滚动时,这似乎在大多数情况下都有效,但有时它不会更改当前选定的页面。什么会触发这种行为? func
我有一个关于 UIPageControl 的问题。我有一个 UIScrollView 和一个 UIPageControl。当我在 UIScrollView 前面添加 UIPageControl 时,状
我使用默认的UIPageControl。 UIPageViewController 以编程方式创建。 dataSource 和 delegate 方法也已正确配置。 我正在尝试实现与 iOS 主页相同
我正在尝试使用页面控制功能和 UIScrollView 在我的 IOS 应用程序上显示一组图像,我看过一些教程,但它们都展示了如何更改颜色、如何加载一些图像以及使用页面控件来浏览它们? 最佳答案 -(
我正在使用 UIPageControl 和 UISwipeGestureRecognizer 在 View Controller 之间切换。使用滑动更改页面。 我还需要在其中一个 View Contr
我发现自定义UIPageControl页面图像非常容易(我已经检查过iOS7/8): [self setValue:[UIImage imageNamed:@"my_icon_for_off_stat
我需要改进 EAIntroView 屏幕在启用画外音时从我的应用程序的转换。为此,我考虑使用变换来增加触摸区域: _pageControl.transform = CGAffineTransf
我有一个包含多个表格的 UIScrollView 和一个跟踪用户当前正在查看哪个页面的 UIPageControl。它工作正常,直到我开始在 tableview 上向上滚动,此时 UIPageCont
我正在使用 UIPageController 来实现基于页面的导航应用程序。我想仅在页面边缘启用滑动手势,并防止在内部内容 View 中启用滑动手势。该页面的边距为 20 像素: contentVie
我想知道如何替换状态栏或至少将页面控件放在它上面?每次有人寻呼时,这将是一个临时放置几秒钟,然后它就会消失。我以前在应用程序中见过它。 最佳答案 我认为您无法到达状态栏上方,因为它不属于您的根窗口。
我是一名优秀的程序员,十分优秀!