Added rudimentary i{ad support, more strings show strikethroughs

This commit is contained in:
Deniz Duezgoeren
2019-08-09 09:16:09 +02:00
parent f290223d2b
commit 7c9822f1a5
+30 -12
View File
@@ -90,9 +90,6 @@ class PlanViewController : UIViewController, UICollectionViewDataSource, UIColle
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: identifier, for: indexPath as IndexPath) as! PlanViewCell let cell = collectionView.dequeueReusableCell(withReuseIdentifier: identifier, for: indexPath as IndexPath) as! PlanViewCell
cell.group.text = self.substs[indexPath.item].group
cell.additional.text = self.substs[indexPath.item].additional
cell.time.text = self.substs[indexPath.item].time
var psa = false var psa = false
@@ -123,13 +120,20 @@ class PlanViewController : UIViewController, UICollectionViewDataSource, UIColle
cell.additional.textColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1) cell.additional.textColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
} }
let roomMutable = NSMutableAttributedString(string: self.substs[indexPath.item].room) let mutableStrings = [NSMutableAttributedString(string: self.substs[indexPath.item].group), NSMutableAttributedString(string: self.substs[indexPath.item].time), NSMutableAttributedString(string: self.substs[indexPath.item].course), NSMutableAttributedString(string: self.substs[indexPath.item].room)]
let room = self.substs[indexPath.item].room let strings = [self.substs[indexPath.item].group, self.substs[indexPath.item].time, self.substs[indexPath.item].course, self.substs[indexPath.item].room]
if let qmark = room.firstIndex(of: "?") {
let distance = room.distance(from: room.startIndex, to: qmark) for i in 0..<4 {
roomMutable.addAttribute(NSAttributedString.Key.strikethroughStyle, value: 2, range: NSMakeRange(0, distance)) if let qmark = strings[i].firstIndex(of: "?") {
let distance = strings[i].distance(from: strings[i].startIndex, to: qmark)
mutableStrings[i].addAttribute(NSAttributedString.Key.strikethroughStyle, value: 2, range: NSMakeRange(0, distance))
}
} }
cell.room.attributedText = roomMutable
cell.group.attributedText = mutableStrings[0]
cell.additional.text = self.substs[indexPath.item].additional
cell.time.attributedText = mutableStrings[1]
cell.room.attributedText = mutableStrings[3]
if image != nil { if image != nil {
let attachment: NSTextAttachment = NSTextAttachment() let attachment: NSTextAttachment = NSTextAttachment()
@@ -142,7 +146,8 @@ class PlanViewController : UIViewController, UICollectionViewDataSource, UIColle
let courseImage = NSMutableAttributedString(string: "") let courseImage = NSMutableAttributedString(string: "")
courseImage.append(NSAttributedString(attachment: attachment)) courseImage.append(NSAttributedString(attachment: attachment))
let courseString = NSAttributedString(string: " \(course)") courseImage.append(NSAttributedString(string: " "))
let courseString = mutableStrings[2]
courseImage.append(courseString) courseImage.append(courseString)
if psa == true { if psa == true {
courseImage.addAttribute(NSAttributedString.Key.foregroundColor, value: #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0), range: NSMakeRange(0, 3)) courseImage.addAttribute(NSAttributedString.Key.foregroundColor, value: #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0), range: NSMakeRange(0, 3))
@@ -150,7 +155,7 @@ class PlanViewController : UIViewController, UICollectionViewDataSource, UIColle
cell.course.attributedText = courseImage cell.course.attributedText = courseImage
} else { } else {
cell.course.text = course cell.course.attributedText = mutableStrings[2]
} }
return cell return cell
@@ -159,7 +164,20 @@ class PlanViewController : UIViewController, UICollectionViewDataSource, UIColle
// stubs // stubs
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeModeForItemAt indexPath: IndexPath) -> MagazineLayoutItemSizeMode { func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeModeForItemAt indexPath: IndexPath) -> MagazineLayoutItemSizeMode {
let widthMode = MagazineLayoutItemWidthMode.fullWidth(respectsHorizontalInsets: true) var widthMode: MagazineLayoutItemWidthMode
if UIDevice.current.userInterfaceIdiom == .pad { // iPad
if UIDevice.current.orientation.isLandscape {
widthMode = MagazineLayoutItemWidthMode.thirdWidth
} else {
widthMode = MagazineLayoutItemWidthMode.halfWidth
}
} else { // iPhone
if UIDevice.current.orientation.isLandscape {
widthMode = MagazineLayoutItemWidthMode.halfWidth
} else {
widthMode = MagazineLayoutItemWidthMode.fullWidth(respectsHorizontalInsets: true)
}
}
let heightMode = MagazineLayoutItemHeightMode.dynamic let heightMode = MagazineLayoutItemHeightMode.dynamic
return MagazineLayoutItemSizeMode(widthMode: widthMode, heightMode: heightMode) return MagazineLayoutItemSizeMode(widthMode: widthMode, heightMode: heightMode)
} }