我看过有关更改 iOS 中滚动条颜色的帖子。
UIScrollViewIndicatorStyle默认:
滚动指示器的默认样式,黑色,白色边框。这种风格适合任何内容背景。
UIScrollViewIndicatorStyleBlack:
一种黑色且比默认样式更小的指示器样式。这种风格非常适合白色内容背景。
UIScrollViewIndicatorStyleWhite:
指示器样式为白色,比默认样式小。这种风格非常适合黑色内容背景。
我想知道 iOS 7 是否引入了任何新方法来将滚动条更改为 UI 颜色?
谢谢。
我确实有一个UIScrollView可以容纳几个的UIViewController。对于里面的元素UIViewController我使用了自动布局。现在,如果当前设备是 iPhone 4,我想更改视图约束的常量。因此我updateViewConstraints()重写UIViewControllers:
override func updateViewConstraints() {
if (self.view.frame.height == 480) {
self.imageMarginLeft.constant = 40
self.imageMarginRight.constant = 40
self.textMarginTop.constant = 10
println("updateViewConstraint \(self.imageMarginRight.constant)")
}
super.updateViewConstraints()
}
Run Code Online (Sandbox Code Playgroud)
但即使println记录了正确的新常量,更新也是不可见的。我在实施中需要改变什么?
我有带有故事板的 swift 2.0 ios 应用程序。我有一个 tableViewController,并且在每一行中都有滚动视图(禁用用户滚动)。在这个滚动视图中,我有一个图像,它适合滚动的大小,而且有点高。事情是我想在 tableView 滚动时在该图像上实现“浮动”效果。这是一个代码:
override func scrollViewDidScroll(scrollView: UIScrollView) {
let cells = tableView.visibleCells
let offsetY = scrollView.contentOffset.y
var diff:CGFloat = (offsetY - lastY) / 10
for cell in cells {
let indexPath = tableView.indexPathForCell(cell)!
let scroll = cell.viewWithTag(102) as! UIScrollView
let oldY = scroll.contentOffset.y
let newY = oldY + diff
let height = scroll.contentSize.height
if(newY >= 0 && newY + cellHeight < height){
scroll.contentOffset = CGPointMake(scroll.contentOffset.x, newY)
}
if(indexPath.row == 0){
print("\(oldY) + \(diff) = \(newY)") …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的 UIScrollView,其中包含一些内容(许多子视图)。此滚动视图用于显示用户发布的一些帖子(图像 + 文本)。这些视图之一实际上是作者的图像,它溢出底部单元格边界。因此它与后面的单元格重叠,使用clipToBounds = false我可以获得所需的结果。如果我向下滚动,一切都很好。当我开始向上滚动时,以前覆盖的视图现在被剪裁了。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = (indexPath.row % 2 == 0) ? "FeedCellLeft" : "FeedCellRight";
let cell = feedScrollView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! FeedCell;
self.setUpCell(cell, atIndexPath: indexPath);
return cell
}
Run Code Online (Sandbox Code Playgroud)
该setUpCell函数只是执行一些 UI 相关的任务
let row = indexPath.row
cell.postImage.downloadImageFrom(link: rows[row].image, contentMode: .scaleToFill)
cell.postAuthorImage.downloadImageFrom(link: "https://pbs.twimg.com/profile_images/691867591154012160/oaq0n2zy.jpg", contentMode: .scaleToFill)
cell.postAuthorImage.layer.cornerRadius = 22.0;
cell.postAuthorImage.layer.borderColor = UIColor.white.cgColor
cell.postAuthorImage.layer.borderWidth = 2.0;
cell.postAuthorImage.layer.masksToBounds = true;
cell.selectionStyle = .none
cell.postData.layer.cornerRadius …Run Code Online (Sandbox Code Playgroud) 这是我的布局。
我还使用此视频作为如何实现 UIScrollView 的参考,因为这是我第一次。https://www.youtube.com/watch?v=VE6DQGy4iS8
我不允许使用 UIStackView 因为我们的目标是 iOS 8。
我现在遇到的两个明显问题是:
我试图创建一个小例子说明了contentMode(scaleAspectFill)的一个UIImageView。
一切都经过编码,没有使用故事板。检查了很多有助于解释这一点的例子。但是,找不到任何适合我的要求。
请在下面找到完整的代码。
class ImageViewController: UIViewController {
let marginSpacing = CGFloat(10)
lazy var imageView1: UIImageView = {
let view = UIImageView()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
lazy var imageView2: UIImageView = {
let view = UIImageView()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
lazy var imageView3: UIImageView = {
let view = UIImageView()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
lazy var imageView4: UIImageView = {
let view = UIImageView()
view.translatesAutoresizingMaskIntoConstraints = false
return view …Run Code Online (Sandbox Code Playgroud) 我有一个不同时期(每天)的 collectionView 供用户选择。每个项目的大小等于 collectionView 本身的大小。
@IBOutlet weak var periodCollectionView: UICollectionView!
@IBOutlet weak var itemLabel: UILabel!
let collectionValues = ["Day", "Week", "Month", "Year"]
var currentVisibleItem: Int?
override func viewDidLoad() {
super.viewDidLoad()
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PeriodName", for: indexPath) as? DisplayPeriodCollectionViewCell
else {
fatalError("Unable to cast collection view cell as DisplayPeriodCollectionViewCell")
}
cell.periodName.text = collectionValues[indexPath.item]
return cell …Run Code Online (Sandbox Code Playgroud) 我似乎无法找到我的问题的最佳答案。
我有这个“OK”但不知道的代码
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
print(mapView.camera.altitude)
if mapView.camera.altitude < 800.00 && !modifyingMap
{
modifyingMap = true
mapView.camera.altitude = 800.00
modifyingMap = false
}
}
Run Code Online (Sandbox Code Playgroud)
我想在我的应用程序中将用户的最大和最小缩放限制到我的地图。
非常感谢任何指向 SO 答案的链接!
谢谢!
我正在尝试实现一个粘性标题功能,例如在 twitters 个人资料上看到的那个。我已经根据设置我的滚动视图,我一直在尝试研究如何这样做,但是,我只能找到使用故事板的方法。我的代码将在下面。
class EditProfileVC: UIViewController {
var imageView: UIImageView!
var image = UIImage(named: "work")
lazy var scrollView: UIScrollView = {
let view = UIScrollView()
view.translatesAutoresizingMaskIntoConstraints = false
view.contentSize.height = 800
view.backgroundColor = UIColor.brown
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(scrollView)
setupScrollView()
view.addSubview(profileImageView)
setupProfileImageView()
}
func setupScrollView(){
imageView = UIImageView(image: image)
scrollView.addSubview(imageView)
scrollView.contentSize = imageView.bounds.size
view.addSubview(scrollView)
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
imageView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 200).isActive=true
imageView.widthAnchor.constraint(equalToConstant: 100).isActive = true
profileImageView.heightAnchor.constraint(equalToConstant: 100).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive …Run Code Online (Sandbox Code Playgroud) 我有一个滚动视图,其中有一个名为“内容视图”的 UIView,其中包含我的所有元素。
内容视图等于滚动视图的顶部、底部、前导和尾随。也等于它的宽度和高度。
我还在self.scrollView.contentSize = self.contentView.frame.size
ViewDidLoad 中添加了。
当我滚动时,我可以看到一个滚动条在侧面上下移动,根据滚动条,页面长度似乎是正确的,但内容本身并没有像您在这里看到的那样滚动:
我究竟做错了什么?
谢谢!
uiscrollview ×10
ios ×9
swift ×7
objective-c ×2
xcode ×2
autolayout ×1
header ×1
mapkit ×1
scrollbar ×1
sticky ×1
swift2 ×1
swift3 ×1
uiimageview ×1
uistoryboard ×1
uitableview ×1