Barrage module

Barrage module

Source code introduction: sliding channel selection

plan:

1.

Through bullet screen collision detection, decide whether to use this channel, that is, the channel is judged from top to bottom each time.

The main difficulty of collision detection is to detect the collision between horizontally scrolling bullet screens. The survival time of a bullet screen is determined by its display time and survival length. Therefore, to determine whether there is a collision between bullet screens, it is only necessary to detect whether there is a collision at the beginning and disappearance.

2.

When the first channel cannot be found, check the minimum distance of all channels. This distance must be within the length of the specified first barrage. If found, place it behind the corresponding barrage.

2.1. When the rightmost barrage of the previous barrage has not yet appeared on the screen, the new barrage is placed behind it, and space is the interval between the two

2.2. When the rightmost side of the previous bullet screen has appeared on the screen, the new bullet screen is still placed on the border waiting to be scrolled

Surface channel selection (divided into two rows of channels)

plan:

1.

Select the *** row, and follow the rule that there is no bullet screen. If there is no bullet screen, it will be displayed.

2.

If the first row is full, use the second row, which is half the channel height below the base coordinate y of the first row.

This will create a visual difference. When the first row of displays disappears, the second row can be seen, thus achieving a larger display channel (2n-1).

Test environment: Xcode 6.2, iOS 6.0 or above

Source code renderings:

[[140690]]

Download address: http://download..com/data/2068358

<<:  Multi-style card stacking view--ZLSwipeableViewSwift

>>:  Overview of Mobile Web Development Specifications

Recommend

The effectiveness and traffic conversion of TikTok advertising in APP!

Recently, advertisers of e-commerce apps seem to ...

Top 10 New Media Moments of 2016

In 2016, the new media industry is still hot. Som...

Why is Lei Jun so busy with Xiaomi NOTE?

[[133904]] Have you noticed? Many of Xiaomi’s law...

5 steps to review event promotion!

Reviewing is different from summarizing. Summariz...

10 Mistakes Every Entrepreneur Should Avoid

[[156534]] I like every entrepreneur, so I really...

How to promote traffic and acquire customers on Zhihu

I deeply agree with what Hua Ye said: "Zhihu...

A map tells you where to see the most beautiful volcanic lake in China

Loading long image... Source: National Geographic...

Different flavors of dependency injection in Swift

Preface In previous articles, we looked at some d...

World Immunization Week丨Why do we need to get vaccinated?

Why do we need to get vaccinated? Vaccination is ...