我有一个带有水平UICollectionViewFlowLayout的collectionView。
我正在努力实现:
如果设备方向是纵向,则UIImageView宽度将适合view.width并自动计算高度(就像通常在自动布局中一样)。对于横向模式也一样。 示例 - Iphone上的标准照片应用程序。
不幸的是,我不知道如何使用autoLayout实现它。我在UIImageView上设置约束,使其大小与单元格相同。但看起来销售本身不能固定在父视图上。
在阅读类似问题后,看起来必须使用
以编程方式调整单元格大小func collectionView(collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
return CGSize(width: width, height: height)
}
在这里我被卡住了,因为我知道屏幕的宽度,但不知道如何动态计算高度。
关于图片高度:
我的图像声明如下:
var pageImages = [UIImage]()
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: ImageDetailViewCell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! ImageDetailViewCell
let curr = indexPath.row
let imgName = data[albumNumber][curr]["image"]
cell.DetailImageView.image = UIImage(named: imgName!)
return cell
}
答案 0 :(得分:4)
如果您使用正确的<?php
ob_start();
if(isset($_POST['searchstring'])){
include ("connect.php");
$queried = $_POST['searchstring'];
$queried = trim($queried);
$patterns = array("/\s+/", "/\s([?.!])/");
$replacer = array("+","$1");
$queried = preg_replace( $patterns, $replacer, $queried );
header("Location: index.php?page=search&q=".$queried."");
}
else {
header('Location: index.php');
}
exit();
?>
调整大小设置(例如,宽高比适合/填充),那么您只需要将单元格的高度设置为您的collectionView(您可以获得指向它的指针{{1方法参数)高度。您之后也应该在您的手机上调用<?php header('Location: index.php'); ?>
方法。
答案 1 :(得分:2)
您可以使用sizeForItemAtIndexPath:
更改集合视图单元格的大小。
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
var numberOfCellInRow : Int = 3
var padding : Int = 5
var collectionCellWidth : CGFloat = (self.view.frame.size.width/CGFloat(numberOfCellInRow)) - CGFloat(padding)
return CGSize(width: collectionCellWidth , height: collectionCellWidth)
}
您可以通过以下方式获取单元格的大小:
((UICollectionViewFlowLayout) self.collectionViewName).itemSize.height)
您可以通过以下方式获取图片尺寸:
let sizeOfImage = image.size
let height = image.height
如果您想更改高度,请按return CGSize(width: collectionCellWidth , height: cellheight)